Java学习笔记之---API的应用

Java学习笔记之---API的应用

(一)Object类
java.lang.Object

Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法

  • 常用方法

1.equals(Object obj) 指示其他某个对象是否与此对象“相等”。

2.hashCode() 返回该对象的哈希码值

3.toString() 返回该对象的字符串表示

4.getClass() 返回此 Object 的运行时类

  • 实例
public class bbb {
public static void main(String[] args){
String b=new String("String类型的数据");//创建一个String对象
String b1=new String("String类型的数据2");//创建一个String对象
String b2=b.toString();//以字符串的形式返回对象的文本信息
int b3=b.hashCode();//以整型的形式返回对象的哈希值
Class<?> b4=b.getClass();//返回对象的类的类型
boolean b5=b.equals(b1);//比较两个对象是否相等,返回Boolean类型的数据
System.out.println(b+" ,"+b1+" ,"+b2+" ,"+b3+" ,"+b4+" ,"+b5);
}
}

运行结果:

String类型的数据 ,String类型的数据2 ,String类型的数据 ,128940929 ,class java.lang.String ,false

(二)包装类

以Byte为例

java.lang.Object

java.lang.Number

java.lang.Byte

Byte 类将基本类型 byte 的值包装在一个对象中。一个 Byte 类型的对象只包含一个类型为 byte 的字段。

此外,该类还为 byteString 的相互转换提供了几种方法,并提供了处理 byte 时非常有用的其他一些常量和方法

  • 实例
public class aaa {

    public static void main(String[] args) {

        byte n=1;//基本数据类型

        Byte m=new Byte(n);//装箱,将基本数据类型转换为Byte对象

        Byte y=n;//自动装箱

        byte x=new Byte(m);//拆箱,将Byte对象转换为byte数据类型

        System.out.println(x);

        System.out.println(m);

    }

}

运行结果:

1

1

(三)Number类
java.lang.Object
  java.lang.Number

抽象类 NumberBigDecimalBigIntegerByteDoubleFloatIntegerLongShort 类的超类。

Number 的子类必须提供将表示的数值转换为 bytedoublefloatintlongshort 的方法。

  • 常用方法

1. compareTo() 在数字上比较两个 Integer 对象

2. valueOf(int)  返回一个表示指定的 int 值的 Integer 实例
3. decode()  String 解码为 Integer

4. valueOf(String)  返回保存指定的 String 的值的 Integer 对象

  • 实例
public class ccc {

    public static void main(String[] args){

        Integer c=new Integer(1);//构造一个新分配的 Integer 对象,它表示指定的 int 值

        System.out.println(c);

        Integer c1=new Integer("2");//构造一个新分配的 Integer 对象,它表示 String 参数所指示的 int 值

        System.out.println(c1);

        //如果c=c1,返回0;如果c>c1,返回大于0,;如果c<c1,返回小于0

        int c2=c.compareTo(c1);//在数字上比较两个 Integer 对象

        System.out.println(c2);

        Integer c3=Integer.valueOf(c);//返回一个表示指定的 int 值的 Integer 实例

        System.out.println(c3);

        Integer c4=Integer.valueOf("5");//返回保存指定的 String 的值的 Integer 对象

        System.out.println(c4);

        String cc="cc";

        Integer c5=Integer.decode("5");//将 String 解码为 Integer

        System.out.println(c5);

    }

}

运行结果:

1

2

-1

1

5

5

(四)Character类

java.lang.Object

java.lang.Character

Character 类在对象中包装一个基本类型 char 的值。Character 类型的对象包含类型为 char 的单个字段。

此外,该类提供了几种方法,以确定字符的类别(小写字母,数字,等等),并将字符从大写转换成小写,反之亦然。

  • 常用方法
  1. valueOf()  返回一个表示指定 char 值的 Character 实例
  2. toString()  返回一个表示指定 char 值的 String 对象
  3. isDigit()  确定指定字符是否为数字
  4. isLetter()  确定指定字符是否为字母
  5. isUpperCase()  确定指定字符是否为大写字母
  6. isLowerCase()  确定指定字符是否为小写字母
  7. toUpperCase()  使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写
  8. toLowerCase()  使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写
  • 实例
public class ddd {

    public static void main(String[] args){

        Character d=new Character('d');//构造一个新分配的 Character 对象,用以表示指定的 char 值

        System.out.println(d);

        Character d1=Character.valueOf(d);//返回一个表示指定 char 值的 Character 实例

        System.out.println(d1);

        String d2=Character.toString(d);//返回一个表示指定 char 值的 String 对象

        System.out.println(d2);

        boolean d3=Character.isDigit(d);//确定指定字符是否为数字

        System.out.println(d3);

        boolean d4=Character.isLetter(d); //确定指定字符是否为字母

        System.out.println(d4); 

        boolean d5=Character.isUpperCase(d);//确定指定字符是否为大写字母

        System.out.println(d5);

        boolean d6=Character.isLowerCase(d);//确定指定字符是否为小写字母

        System.out.println(d6);

        char d7=Character.toUpperCase(d);//使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为大写

        System.out.println(d7);

        char d8=Character.toLowerCase(d7);//使用取自 UnicodeData 文件的大小写映射信息将字符参数转换为小写

        System.out.println(d8);

    }

}

运行结果:

d

d

d

false

true

false

true

D

d

(五)String类
java.lang.Object
  java.lang.String

String 类代表字符串。Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现。

字符串是常量;它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享

Ø  常用方法
1.  length()  返回此字符串的长度
2.  charAt()  返回指定索引处的 char 值
3.  contains()  当且仅当此字符串包含指定的 char 值序列时,返回 true
4.  endsWith()  测试此字符串是否以指定的后缀结束
5.  startsWith()  测试此字符串是否以指定的前缀开始
6.  indexOf()  返回指定子字符串在此字符串中第一次出现处的索引
7.  lastIndexOf()  返回指定子字符串在此字符串中最右边出现处的索引
8.  isEmpty()  当且仅当 length() 为 0 时返回 true
9.  replace(char oldChar, char newChar返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的
10. split()  根据给定正则表达式的匹配拆分此字符串
11. substring(int beginIndex, int endIndex返回一个新字符串,它是此字符串的一个子字符串
12. toUpperCase()  使用默认语言环境的规则将此 String 中的所有字符都转换为大写
13. toLowerCase()  使用默认语言环境的规则将此 String 中的所有字符都转换为小写
14. trim()  返回字符串的副本,忽略前导空白和尾部空白
15. valueOf()  返回 char 参数的字符串表示形式
16. toCharArray()  将此字符串转换为一个新的字符数组
  • 实例
public class eee {

    public static void main(String[] args){

       String e=new String("zhangaaa");

       System.out.println(e);

       int e1=e.length();//返回此字符串的长度

       System.out.println("字符串的长度:"+e1);

       char e2=e.charAt(3);//返回指定索引处的 char 值

       System.out.println("返回索引值为3的字母:"+e2);

       boolean e3=e.contains("aa");//当且仅当此字符串包含指定的 char 值序列时,返回 true

        System.out.println("此字符串中是否有aa:"+e3);

        boolean e4=e.endsWith("a");//测试此字符串是否以指定的后缀结束

        System.out.println("此字符串是否以a结尾:"+e4);

        boolean e5=e.startsWith("h");//测试此字符串是否以指定的前缀开始

        System.out.println("此字符串是否以h开始:"+e5);

        int e6=e.indexOf("ha");//返回指定子字符串在此字符串中第一次出现处的索引

        System.out.println("ha在字符串中第一次出现的索引值:"+e6);

        int e7=e.lastIndexOf("a");//返回指定子字符串在此字符串中最右边出现处的索引

        System.out.println("ha在字符串中最后一次出现的索引值:"+e7);

        boolean e8=e.isEmpty();//当且仅当 length() 为 0 时返回 true

        System.out.println("此字符串是否为空:"+e8);

        String e9=e.replace("aaa","bbb");//返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的

        System.out.println("替换后的新字符串为:"+e9);

        String[] e10=e.split("g");//根据给定正则表达式的匹配拆分此字符串

        for(String e11:e10){

            System.out.println("拆分后的新字符串为:"+e11);

        }

        String e12=e.substring(0,2);//返回一个新字符串,它是此字符串的一个子字符串

        System.out.println("截取后的新字符串为:"+e12);

        String e13=e.toUpperCase();//使用默认语言环境的规则将此 String 中的所有字符都转换为大写

        System.out.println("变为大写后的新字符串为:"+e13);

        String e14=e13.toLowerCase();// 使用默认语言环境的规则将此 String 中的所有字符都转换为小写

        System.out.println("变为小写后的新字符串为:"+e14);

        String ee="   aa    ";

        String e15=ee.trim();//返回字符串的副本,忽略前导空白和尾部空白

        System.out.println("清空空白后的新字符串为:"+e15);

        String e16=String.valueOf('a');//返回 char 参数的字符串表示形式

        System.out.println("字符变为字符串后为:"+e16);

        char[] e17=e.toCharArray();//将此字符串转换为一个新的字符数组

        System.out.println("字符串变为数组后输出为:");

        for(char e18:e17){

            System.out.print(e18+"   ");

        }

    }

}

运行结果:

zhangaaa

字符串的长度:8

返回索引值为3的字母:n

此字符串中是否有aa:true

此字符串是否以a结尾:true

此字符串是否以h开始:false

ha在字符串中第一次出现的索引值:1

ha在字符串中最后一次出现的索引值:7

此字符串是否为空:false

替换后的新字符串为:zhangbbb

拆分后的新字符串为:zhan

拆分后的新字符串为:aaa

截取后的新字符串为:zh

变为大写后的新字符串为:ZHANGAAA

变为小写后的新字符串为:zhangaaa

清空空白后的新字符串为:aa

字符变为字符串后为:a

字符串变为数组后输出为:

z   h   a   n   g   a   a   a

(六)日期类

Data类

java.lang.Object
  java.util.Date

Date 表示特定的瞬间,精确到毫秒。

在 JDK 1.1 之前,类 Date 有两个其他的函数。它允许把日期解释为年、月、日、小时、分钟和秒值。它也允许格式化和解析日期字符串。不过,这些函数的 API 不易于实现国际化。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和解析日期字符串。Date 中的相应方法已废弃。

Calendar类

java.lang.Object

java.util.Calendar

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

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

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

     Calendar rightNow = Calendar.getInstance();

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

Format类

java.lang.Object
  java.util.Formatter

printf 风格的格式字符串的解释程序。此类提供了对布局对齐和排列的支持,以及对数值、字符串和日期/时间数据的常规格式和特定于语言环境的输出的支持。支持诸如 byteBigDecimalCalendar 等常见 Java 类型。任意用户类型的受限格式化定制都是通过 Formattable 接口提供的。

Formatter 对于多线程访问而言没必要是安全的。线程安全是可选的,它对此类中的方法用户负责。

Java 语言的格式化输出在很大程度上受到 C 语言 printf 的启发。虽然一些格式字符串与 C 类似,但已进行了某些定制,以适应 Java 语言,并且利用了其中一些特性。此外,Java 的格式比 C 的格式更严格;例如,如果转换与标志不兼容,则会抛出异常。在 C 中,不适用的标志会被忽略。这样,便于 C 程序员识别这些格式字符串,而又不必与 C 中的那些标志完全兼容。

DateFormat类

java.lang.Object

java.text.Format

java.text.DateFormat

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

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

DateFormat 可帮助进行格式化并解析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关

上一篇:咸鱼Chen


下一篇:【sping揭秘】2、关于spring配置文件