zoukankan      html  css  js  c++  java
  • Java匹马行天下之JavaSE核心技术——工具类

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

    一、Object类

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

    常用的方法:

    • toString():以字符串形式返回对象的文本信息;
    • hashCode():返回该对象的哈希值;
    • getClass():返回对象的类类型;
    • equals(Object obj):比较两个对象是否相等
    package Practice_Anything;

    public class String_demo {
        public static void main(String[] args) {
            String s = new String("你好");
            String s1 = new String("世界");

            Class<?> c = s.getClass();//返回对象的类类型
            System.out.println(c);


            boolean flag = s.equals(s1);//比较两个对象是否相等
            System.out.println(flag);

            int hash = s.hashCode();//返回该对象的哈希值
            int hash1 = s1.hashCode();
            System.out.println(hash+" "+hash1);

            String s2 = s.toString();//以字符串形式返回对象的文本信息
            String s3 = s1.toString();
            System.out.println(s2+s3);

        }
    }

    运行结果:

    class java.lang.String
    false
    652829 649718
    你好世界

    二、包装类

    装箱与拆箱

    以Byte为例

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

    package Practice_Anything;

    public class Box_Demo {
        public static void main(String[] args) {
            byte b =1;//基本数据类型
            System.out.println(b);

            Byte b1 = new Byte(b);//包装类的对象
            System.out.println(b1);

            Byte b2 = b;//自动装箱,把基本数据类型转为对象
            System.out.println(b2);

            byte b3 = new Byte(b);//自动拆箱,把对象转为基本数据类型
            System.out.println(b3);

        }
    }

    运行结果:

    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 对象。
    package Practice_Anything;

    public class Integer_Demo {
        public static void main(String[] args) {

            Integer i = new Integer(2);//构造一个新分配的 Integer 对象,它表示指定的 int 值。
            System.out.println(i);

            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);

            String s = "5";
            Integer i4 = Integer.decode(s);//将 String 解码为 Integer。
            System.out.println(i4);

            Integer i5 = Integer.valueOf(6);//返回一个表示指定的 int 值的 Integer 实例。
            System.out.println(i5);

            Integer i6 = Integer.valueOf(s);//返回保存指定的 String 的值的 Integer 对象。
            System.out.println(i6);

            String s1 = i.toString();//返回一个表示该 Integer 值的 String 对象。
            System.out.println(s1);

            String s2 =Integer.toString(i);//返回一个表示指定整数的 String 对象。
            System.out.println(s2);

        }
    }

    运行结果:

    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():转为小写字母
    package Practice_Anything;

    public class Character_Demo {
        public static void main(String[] args) {
            Character c = new Character('d');//构造方法
            System.out.println(c);

            char c1 = c.charValue();//返回此 Character 对象的值。
            System.out.println(c);

            char c2 = Character.valueOf(c);//返回一个表示指定 char 值的 Character 实例
            System.out.println(c);

            String s = c.toString();//返回表示此 Character 值的 String 对象。
            System.out.println(s);

            boolean b = Character.isDigit(c);//判断指定字符是否为数字。
            System.out.println(b);

            boolean b1 = Character.isLetter(c);//判断指定字符是否为字母
            System.out.println(b1);

            boolean b2 = Character.isUpperCase(c);//判断是否为大写字母
            System.out.println(b2);

            boolean b3 = Character.isLowerCase(c);//判断是否为小写字母
            System.out.println(b3);

            boolean b4 = Character.isWhitespace(c);//判断是否为空格
            System.out.println(b4);

            char c3 = Character.toUpperCase(c);//转为大写字母
            System.out.println(c3);

            char c4 = Character.toLowerCase(c3);//转为小写字母
            System.out.println(c4);运行结果:

    d
    d
    d
    d
    false
    true
    false
    true
    false
    D
    d


        }
    }

    五、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():把字符串转为字符数组;
    package Practice_Anything;

    public class String_Demod {
        public static void main(String[] args) {
            String s = new String("ZhangYuxian");

            int i = s.length();//返回字符串的长度;
            System.out.println("s的长度:"+i);

            char c = s.charAt(5);//返回指定索引处的字符;
            System.out.println("索引值为5的字母:"+c);

            boolean flag = s.contains("xian");//判断字符串中是否包含指定的字符序列
            System.out.println("字符串s中是否存在xian:"+flag);

            boolean flag1 = s.startsWith("Z");//判断字符串是否以指定的前缀开始
            System.out.println("s字符串是否以Z开始:"+flag1);

            boolean flag2 = s.endsWith("n");//判断字符串是否以指定的后缀结束
            System.out.println("s字符串是否以n结束:"+flag2);

            int i1 = s.indexOf('Y');//返回指定字符在字符串中第一次出现的索引
            System.out.println("字符Y在字符串s中第一次出现的索引:"+i1);

            int i2 = s.lastIndexOf('n');//返回指定字符在字符串中最后一次出现的索引
            System.out.println("字符n在字符串s中最后一次出现的索引:"+i2);

            boolean flag3 = s.isEmpty();// 当且仅当 length() 为 0 时返回 true。
            System.out.println("字符串s的长度是否为零:"+flag3);

            //把字符串中的old字符替换为new字符,然后返回一个新字符串;
            String s1 = s.replace('x','t');
            System.out.println("把s字符串中的x替换为t后的新字符串为:"+s1);

            String[] s2 = s.split("n");//根据指定的规则拆分字符串,返回字符串数组;

            System.out.print("用指定的n拆分字符串s,得到字符串数组:");
            for(String s3:s2){
                System.out.print(s3+" ");
            }
            System.out.println();

            String s3 = s.substring(5);//按照指定的索引截取字符串
            System.out.println("从字符串s中索引为5的字符截取生成新的字符串:"+s3);

            String s4 = s.substring(0,5);//按照指定的索引截取字符串,从begin(包含)开始,到end(不包含)结束;
            System.out.println("从字符串s中截取索引值[0,5)的字符组成新的字符串"+s4);

            String s5 = s.toLowerCase();//把字符串的英文字母全部转为小写;
            System.out.println("把字符串s中的英文字母全部转为小写:"+s5);

            String s6 = s.toUpperCase();//把字符串的英文字母全部转为大写;
            System.out.println("把字符串s中的英文字母全部转为大写:"+s6);

            String s7 ="               Z h a ng    ";
            System.out.println("原始状态:"+s7);

            String s8 = s7.trim();//清除字符串前后的空白字符;
            System.out.println("清除字符串前后空格后的状态:"+s8);

            char[] chars = {'Z','y','x'};
            String s9 = String.valueOf(chars);//把指定类型的数据转为字符串类型;
            System.out.println("把char类型的数组转化为字符串类型:"+s9);

            String s10 = s.toString();// 返回此对象本身(它已经是一个字符串!)。
            System.out.println(s10);

            char[] s11 = s.toCharArray();//把字符串转为字符数组;
            System.out.print("遍历字符数组:");
            for(char c1:s11){
                System.out.print(c1+" ");
            }

        }
    }

    运行结果:

    s的长度:11
    索引值为5的字母:Y
    字符串s中是否存在xian:true
    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 对象,其日历字段已由当前日期和时间初始化:

    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。方法描述中提供了使用这些风格的更多细节和示例。 

  • 相关阅读:
    【转】VS2010中 C++创建DLL图解
    [转]error: 'retainCount' is unavailable: not available in automatic reference counting mode
    [转]关于NSAutoreleasePool' is unavailable: not available in automatic reference counting mode的解决方法
    【转】 Tomcat v7.0 Server at localhost was unable to start within 45
    【转】Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If
    【转】SVN管理多个项目版本库
    【转】eclipse安装SVN插件的两种方法
    【转】MYSQL启用日志,和查看日志
    【转】Repository has not been enabled to accept revision propchanges
    【转】SVN库的迁移
  • 原文地址:https://www.cnblogs.com/zyx110/p/10696949.html
Copyright © 2011-2022 走看看