Java匹马行天之JavaSE核心技术——工具类

一、Object类

java.lang.Object
Object类是所有类直接或间接的父类

常用的方法:

  • toString():以字符串形式返回对象的文本信息;
  • hashCode():返回该对象的哈希值;
  • getClass():返回对象的类类型;
  • equals(Object obj):比较两个对象是否相等
  1. package Practice_Anything;
  2. public class String_demo {
        public static void main(String[] args) {
            String s = new String("你好");
            String s1 = new String("世界");
  3.         Class<?> c = s.getClass();//返回对象的类类型
            System.out.println(c);
  4.         boolean flag = s.equals(s1);//比较两个对象是否相等
            System.out.println(flag);
  5.         int hash = s.hashCode();//返回该对象的哈希值
            int hash1 = s1.hashCode();
            System.out.println(hash+" "+hash1);
  6.         String s2 = s.toString();//以字符串形式返回对象的文本信息
            String s3 = s1.toString();
            System.out.println(s2+s3);
  7.     }
    }
  8. 运行结果:
  9. class java.lang.String
    false
    652829 649718
    你好世界

二、包装类

装箱与拆箱

以Byte为例

java.lang.Byte
public final class Byte extend Number
Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。

  1. package Practice_Anything;
  2. public class Box_Demo {
        public static void main(String[] args) {
            byte b =1;//基本数据类型
            System.out.println(b);
  3.         Byte b1 = new Byte(b);//包装类的对象
            System.out.println(b1);
  4.         Byte b2 = b;//自动装箱,把基本数据类型转为对象
            System.out.println(b2);
  5.         byte b3 = new Byte(b);//自动拆箱,把对象转为基本数据类型
            System.out.println(b3);
  6.     }
    }
  7. 运行结果:
  8. 1
    1
    1
    1

三、Number类

java.lang.Number
public abstract class Number extends Object implements Serializable
抽象类 Number 是 BigDecimal、BigInteger、Byte、Double、Float、Integer、Long 和 Short 类的超类。
Number 的子类必须提供将表示的数值转换为 byte、double、float、int、long 和 short 的方法。

以Integer为例

java.lang.Integer
public final class Integer extends Number
Integer 类在对象中包装了一个基本类型 int 的值。Integer 类型的对象包含一个 int 类型的字段。
此外,该类提供了多个方法,能在 int 类型和 String 类型之间互相转换,还提供了处理 int 类型时非常有用的其他一些常量和方法。

常用的方法:

构造方法;

  • compareTo():在数字上比较两个 Integer 对象。
  • valueOf():返回一个表示指定的 int 值的 Integer 实例。
  • toString():返回一个表示该 Integer 值的 String 对象。
  1. package Practice_Anything;
  2. public class Integer_Demo {
        public static void main(String[] args) {
  3.         Integer i = new Integer(2);//构造一个新分配的 Integer 对象,它表示指定的 int 值。
            System.out.println(i);
  4.         Integer i2 = new Integer("3");//构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值。
            System.out.println(i2);
    //如果该 Integer 等于 Integer 参数,则返回 0 值;如果该 Integer 在数字上小于 Integer 参数,则返回小于 0 的值;
    //如果 Integer 在数字上大于 Integer 参数,则返回大于 0 的值(有符号的比较)。
            int i3 = i.compareTo(i2);
            System.out.println(i3);
  5.         String s = "5";
            Integer i4 = Integer.decode(s);//将 String 解码为 Integer。
            System.out.println(i4);
  6.         Integer i5 = Integer.valueOf(6);//返回一个表示指定的 int 值的 Integer 实例。
            System.out.println(i5);
  7.         Integer i6 = Integer.valueOf(s);//返回保存指定的 String 的值的 Integer 对象。
            System.out.println(i6);
  8.         String s1 = i.toString();//返回一个表示该 Integer 值的 String 对象。
            System.out.println(s1);
  9.         String s2 =Integer.toString(i);//返回一个表示指定整数的 String 对象。
            System.out.println(s2);
  10.     }
    }
  11. 运行结果:
  12. 2
    3
    -1
    5
    6
    5
    2
    2

四、Character类

java.lang.Character
public final class Character extends Object
Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。
此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

常用的方法:

  • valueOf():返回一个表示指定 char 值的 Character 实例
  • toString():返回表示此 Character 值的 String 对象。
  • isDigit():判断是否为数字
  • isLetter():判断是否为字母
  • isUpperCase():判断是否为大写字母
  • isLowerCase():判断是否为小写字母
  • isWhitespace():判断是否为空格
  • toUpperCase():转为大写字母
  • toLowerCase():转为小写字母
  1. package Practice_Anything;
  2. public class Character_Demo {
        public static void main(String[] args) {
            Character c = new Character('d');//构造方法
            System.out.println(c);
  3.         char c1 = c.charValue();//返回此 Character 对象的值。
            System.out.println(c);
  4.         char c2 = Character.valueOf(c);//返回一个表示指定 char 值的 Character 实例
            System.out.println(c);
  5.         String s = c.toString();//返回表示此 Character 值的 String 对象。
            System.out.println(s);
  6.         boolean b = Character.isDigit(c);//判断指定字符是否为数字。
            System.out.println(b);
  7.         boolean b1 = Character.isLetter(c);//判断指定字符是否为字母
            System.out.println(b1);
  8.         boolean b2 = Character.isUpperCase(c);//判断是否为大写字母
            System.out.println(b2);
  9.         boolean b3 = Character.isLowerCase(c);//判断是否为小写字母
            System.out.println(b3);
  10.         boolean b4 = Character.isWhitespace(c);//判断是否为空格
            System.out.println(b4);
  11.         char c3 = Character.toUpperCase(c);//转为大写字母
            System.out.println(c3);
  12.         char c4 = Character.toLowerCase(c3);//转为小写字母
            System.out.println(c4);运行结果:
  13. d
    d
    d
    d
    false
    true
    false
    true
    false
    D
    d
  14.     }
    }

五、String类

java.lang.String
public final class String extends Object
String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。
字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。

常用方法

  • charAt(int i):返回指定索引处的字符;
  • length():返回字符串的长度;
  • contains(CharSequence c):判断字符串中是否包含指定的字符序列;CharSequence是* * 一个接口,String是它的一个实现类
  • startsWith(String s):判断字符串是否以指定的前缀开始;
  • endsWith(String s):判断字符串是否以指定的后缀结束;
  • indexOf(char c):返回指定字符在字符串中第一次出现的索引;
  • lastIndexOf(char c):返回指定字符在字符串中最后一次出现的索引;
  • isEmpty():当且仅当字符串长度为0时,返回true;
  • replace(char old,char new):把字符串中的old字符替换为new字符,然后返回一个新字符串;
  • split(String s):根据指定的规则拆分字符串,返回字符串数组;
  • subString(int begin,int end):按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;
  • toLowerCase():把字符串的英文字母全部转为小写;
  • toUpperCase():把字符串的英文字母全部转为大写;
  • trim():清除字符串前后的空白字符;
  • valueOf():把指定类型的数据转为字符串类型;
  • toCharArray():把字符串转为字符数组;
  1. package Practice_Anything;
  2. public class String_Demod {
        public static void main(String[] args) {
            String s = new String("ZhangYuxian");
  3.         int i = s.length();//返回字符串的长度;
            System.out.println("s的长度:"+i);
  4.         char c = s.charAt(5);//返回指定索引处的字符;
            System.out.println("索引值为5的字母:"+c);
  5.         boolean flag = s.contains("xian");//判断字符串中是否包含指定的字符序列
            System.out.println("字符串s中是否存在xian:"+flag);
  6.         boolean flag1 = s.startsWith("Z");//判断字符串是否以指定的前缀开始
            System.out.println("s字符串是否以Z开始:"+flag1);
  7.         boolean flag2 = s.endsWith("n");//判断字符串是否以指定的后缀结束
            System.out.println("s字符串是否以n结束:"+flag2);
  8.         int i1 = s.indexOf('Y');//返回指定字符在字符串中第一次出现的索引
            System.out.println("字符Y在字符串s中第一次出现的索引:"+i1);
  9.         int i2 = s.lastIndexOf('n');//返回指定字符在字符串中最后一次出现的索引
            System.out.println("字符n在字符串s中最后一次出现的索引:"+i2);
  10.         boolean flag3 = s.isEmpty();// 当且仅当 length() 为 0 时返回 true。
            System.out.println("字符串s的长度是否为零:"+flag3);
  11.         //把字符串中的old字符替换为new字符,然后返回一个新字符串;
            String s1 = s.replace('x','t');
            System.out.println("把s字符串中的x替换为t后的新字符串为:"+s1);
  12.         String[] s2 = s.split("n");//根据指定的规则拆分字符串,返回字符串数组;
  13.         System.out.print("用指定的n拆分字符串s,得到字符串数组:");
            for(String s3:s2){
                System.out.print(s3+" ");
            }
            System.out.println();
  14.         String s3 = s.substring(5);//按照指定的索引截取字符串
            System.out.println("从字符串s中索引为5的字符截取生成新的字符串:"+s3);
  15.         String s4 = s.substring(0,5);//按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;
            System.out.println("从字符串s中截取索引值[0,5)的字符组成新的字符串"+s4);
  16.         String s5 = s.toLowerCase();//把字符串的英文字母全部转为小写;
            System.out.println("把字符串s中的英文字母全部转为小写:"+s5);
  17.         String s6 = s.toUpperCase();//把字符串的英文字母全部转为大写;
            System.out.println("把字符串s中的英文字母全部转为大写:"+s6);
  18.         String s7 ="               Z h a ng    ";
            System.out.println("原始状态:"+s7);
  19.         String s8 = s7.trim();//清除字符串前后的空白字符;
            System.out.println("清除字符串前后空格后的状态:"+s8);
  20.         char[] chars = {'Z','y','x'};
            String s9 = String.valueOf(chars);//把指定类型的数据转为字符串类型;
            System.out.println("把char类型的数组转化为字符串类型:"+s9);
  21.         String s10 = s.toString();// 返回此对象本身(它已经是一个字符串!)。
            System.out.println(s10);
  22.         char[] s11 = s.toCharArray();//把字符串转为字符数组;
            System.out.print("遍历字符数组:");
            for(char c1:s11){
                System.out.print(c1+" ");
            }
  23.     }
    }
  24. 运行结果:
  25. s的长度:11
    索引值为5的字母:Y
    字符串s中是否存在xiantrue
    s字符串是否以Z开始:true
    s字符串是否以n结束:true
    字符Y在字符串s中第一次出现的索引:5
    字符n在字符串s中最后一次出现的索引:10
    字符串s的长度是否为零:false
    s字符串中的x替换为t后的新字符串为:ZhangYutian
    用指定的n拆分字符串s,得到字符串数组:Zha gYuxia
    从字符串s中索引为5的字符截取生成新的字符串:Yuxian
    从字符串s中截取索引值[0,5)的字符组成新的字符串Zhang
    把字符串s中的英文字母全部转为小写:zhangyuxian
    把字符串s中的英文字母全部转为大写:ZHANGYUXIAN
    原始状态:               Z h a ng    <strong>
    清</strong>除字符串前后空格后的状态:Z h a ng
    char类型的数组转化为字符串类型:Zyx
    ZhangYuxian
    遍历字符数组:Z h a n g Y u x i a n

六、日期类

Date类

java.util.Date
public class Date extends Object
类 Date 表示特定的瞬间,精确到毫秒。

Calendar类

java.util.Calendar
public abstract class Calendar extends Object
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为protected

与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:

  1. Calendar rightNow = Calendar.getInstance();

Calendar 对象能够生成为特定语言和日历风格实现日期-时间格式化所需的所有日历字段值,例如,日语-格里高里历,日语-传统日历。Calendar 定义了某些日历字段返回值的范围,以及这些值的含义。例如,对于所有日历,日历系统第一个月的值是 MONTH == JANUARY。其他值是由具体子类(例如 ERA)定义的。有关此内容的细节,请参阅每个字段的文档和子类文档。

Format类

java.text.Format
public abstract class Format extends Object
Format 是一个用于格式化语言环境敏感的信息(如日期、消息和数字)的抽象基类。
Format 定义了编程接口,用于将语言环境敏感的对象格式化为 String(使用 format 方法)和将 String 重新解析为对象(使用 parseObject 方法)。
通常,一个 format 的 parseObject 方法必须能解析任何由其 format 方法格式化的字符串。不过,也可能存在不能解析的异常情况。例如,format 方法可能创建中间无分隔符的两个相邻整数,在这种情况下,parseObject 无法判断哪个数字属于哪个数。

DateFormat类

java.text.DateFormat
public abstract class DateFormat
DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、解析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月 1 日 00:00:00 这一刻开始的毫秒数。

DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用这些风格的更多细节和示例。

Java匹马行天下之JavaSE核心技术——工具类的更多相关文章

  1. Java匹马行天下之JavaSE核心技术——异常处理

    Java匹马行天下之JavaSE核心技术——异常处理 异常的简介 在Java中,异常就是Java在编译.运行或运行过程中出现的错误. 程序错误分为三种:编译错误.运行时错误和逻辑错误 编译错误是因为程 ...

  2. Java匹马行天下之JavaSE核心技术——面向对象

    面向对象 注: 看此篇时强烈建议有一定的面向对象思想基础,有一定的基础后先翻到下面看第九条:      9.面向对象: 从未封装→封装→继承→多态→抽象类→接口的代码演变 按这个逻辑去看,,哪有不理解 ...

  3. Java匹马行天下之JavaSE核心技术——反射机制

    Java反射机制 一.什么是反射? 在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及 ...

  4. Java匹马行天下之JavaSE核心技术——Java基础语法

    Java基础语法 一.   认识Java 1. Java 简介 java 是一种高级的面向对象的程序设计语言,使用Java语言编写的程序时跨平台的.从pc到手机,都有Java开发的程序和游戏,Java ...

  5. Java匹马行天下之JavaSE核心技术——注解

    Java注解 一.什么是注解 注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器.开发工具和其他程序可以通过反射来 ...

  6. Java匹马行天下之JavaWeb核心技术——JSP

    JSP动态网页技术 一.JavaWeb简介 一.什么是JavaWeb? JavaWeb是用Java技术来解决相关web互联网领域的技术总称. 需要在特定的web服务器上运行,分为web服务器和web客 ...

  7. Java匹马行天下之JavaWeb核心技术——JSP(续一)

      十二.JSP表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网 ...

  8. Java匹马行天下之新手学习目录

    Java匹马行天下之新手学习目录 学习路线 [Java匹马行天下——Java学习路线] [Java匹马行天下——开篇学习计划] 基础篇 [Java匹马行天下之学编程的起点——编程常识知多少] [Jav ...

  9. Java匹马行天下——开篇

    个人感言: 匹马行天下是我高中时候看过一部叫<九鼎记>的小说中的其中一个大章节标题,在整个这一章中,讲的是是主人公滕青山历经艰险,又心如磐石,一心修行,最后巅峰归来的故事.现在回想,依旧心 ...

随机推荐

  1. CTF挑战赛丨网络内生安全试验场第一季答题赛火热开启

    前期回顾:挑战世界级“人机大战”,更有万元奖金等你来拿 网络内生安全试验场自上线以来,受到了业内的极大重视与关注. 自9月2日报名通道开启后,报名量更是持续高升,上百名精英白帽踊跃报名. 至此,网络内 ...

  2. Android输出日志Log类并保存到文件中

    android.util.Log常用的方法有以下5个: Log.v() Log.d() Log.i() Log.w() 以及 Log.e().根据首字母分别对应VERBOSE,DEBUG,INFO,W ...

  3. 第3篇-超市管理系统Scrum冲刺博客

    一.站立式会议: 1.会议照片 2.昨天完成的工作 ①数据库方面:根据需求关系为在数据库中建立相关表的基本模型供后续参考. ②前端方面:完成了登录界面的设计:各个界面的草图:为各个界面选取合适的图片如 ...

  4. JMETER 审批任务实战

    业务场景 我们需要对流程任务进行审批,这个和流程发起是不一样的,因为在流程发起时,只需要用户登录后,指定固定的流程方案和数据就可以发起流程了. 流程任务是需要获取任务ID再做任务审批的. 实现思路 1 ...

  5. Windows Server2008 R2 服务器域名设置Https安全证书访问

    域名支持Https访问设置 1.首先登陆域名申办公司的域名管理账号添加TXT域名解析信息 以新网域名公司为例:http://dcp.xinnet.com,输入域名:www.xxx.com和密码登录即可 ...

  6. NLP中的预训练语言模型(五)—— ELECTRA

    这是一篇还在双盲审的论文,不过看了之后感觉作者真的是很有创新能力,ELECTRA可以看作是开辟了一条新的预训练的道路,模型不但提高了计算效率,加快模型的收敛速度,而且在参数很小也表现的非常好. 论文: ...

  7. SQLAlchemy(1)

    介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取 ...

  8. uiautomator输入中文实例

    package com.demo3; import jp.jun_nama.test.utf7ime.helper.Utf7ImeHelper; import com.android.uiautoma ...

  9. vue.js最最最基础的入门案例

    打算自己写一点vue.js从入门到进阶的笔记,方便一些新手从头开始开发的时候,可以参考一下. 写的或许是很简单的文章,提供给新手参考.暂时都是一些入门级别的. 以后会慢慢的加深,进阶,写出一些更好,更 ...

  10. JDOJ 1929: 求最长不下降序列长度

    JDOJ 1929: 求最长不下降序列长度 JDOJ传送门 Description 设有一个正整数的序列:b1,b2,-,bn,对于下标i1<i2<-<im,若有bi1≤bi2≤-≤ ...