常用类总结

一、Object类概述及其构造方法

1. Object类概述

类层次结构的根类。所有类都直接或者间接的继承自该类。

构造方法

public Object()

子类的构造方法默认访问的是父类的无参构造方法。

1)Object类的成员方法

  • public int hashCode():这个方法返回对象的哈希码值,通常用于哈希表(如HashMap)中快速定位对象。如果两个对象相等(即equals方法返回true),它们的哈希码也必须相等。但是,如果两个对象的哈希码不同,它们不一定不相等。
  • public final Class<?> getClass():这个方法返回对象的运行时类对象,即这个对象实际属于哪个类。它是final的,因为Java不允许重写这个方法。这可以用来获取类的元数据,例如类名、类加载器等。
  • public String toString():这个方法返回对象的字符串表示形式。默认情况下,它会返回对象的类名和哈希码的无符号十六进制表示。通常,这个方法会被重写以提供更有意义的信息。
  • public boolean equals(Object obj):这个方法用于比较两个对象是否相等。默认情况下,它比较对象的内存地址,但通常这个方法会被重写,以便根据对象的内容或属性来判断它们是否相等。
  • protected void finalize():这个方法是垃圾回收器调用的,当对象即将被回收时。它允许对象在被销毁前执行一些清理工作。但是,由于垃圾回收器的调用时机不确定,以及Java 9中对finalize方法的弃用,通常不推荐使用这个方法。
  • protected Object clone():这个方法用于创建并返回对象的一个副本。默认情况下,它是一个受保护的方法,并且需要实现Cloneable接口才能被正常使用。这个方法通常被重写以提供更具体的克隆行为。

2. Scanner类概述及其构造方法

Scanner类概述

JDK5以后用于获取用户的键盘输入。

构造方法

public Scanner(InputStream source)

1)Scanner类的成员方法

  • hasNextXxx():判断是否还有下一个输入项,其中Xxx可以是Int, Double等。如果需要判断是否包含下一个字符串,则可以省略Xxx。
  • nextXxx():获取下一个输入项。Xxx的含义和上个方法中的Xxx相同。默认情况下,Scanner使用空格,回车等作为分隔符。

常用方法

  • public int nextInt():接收用户输入的int类型的值。
  • public String nextLine():接受用户输入的string类型的值。

3. String类概述及其构造方法

String类概述

字符串是由多个字符组成的一串数据(字符序列),可以看成是字符数组。

1)构造方法

  • public String():创建一个空字符串,即长度为0的字符串。
  • public String(byte[] bytes):接受一个字节数组作为参数,并使用平台默认的字符编码来解码这些字节,从而创建一个新的字符串。
  • public String(byte[] bytes, int offset, int length):接受一个字节数组、一个偏移量(offset)和一个长度(length)作为参数,从字节数组的指定偏移量开始,解码指定长度的字节,使用平台默认的字符编码来创建一个新的字符串。
  • public String(char[] value):接受一个字符数组作为参数,并使用这些字符来创建一个新的字符串。
  • public String(char[] value, int offset, int count):接受一个字符数组、一个偏移量(offset)和一个计数(count)作为参数,从字符数组的指定偏移量开始,使用接下来的count个字符来创建一个新的字符串。
  • public String(String original):接受一个字符串作为参数,并创建这个字符串的一个副本。新创建的字符串是原始字符串的一个独立副本,对新字符串的修改不会影响到原始字符串。

2)String类的判断功能

  • boolean equals(Object obj):比较两个字符串对象是否相等。
  • boolean equalsIgnoreCase(String str):比较两个字符串是否相等,忽略大小写。
  • boolean contains(CharSequence s):检查调用字符串是否包含序列参数s的字符序列。
  • boolean startsWith(String str):检查调用字符串是否以指定的前缀开始。
  • boolean endsWith(String str):检查调用字符串是否以指定的后缀结束。
  • boolean isEmpty():检查调用字符串是否为空。

3)String类的获取功能

  • int length():返回字符串的长度。
  • char charAt(int index):返回字符串中指定索引位置的字符。
  • int indexOf(int ch):返回字符串中第一次出现的指定字符的索引。
  • int indexOf(String str):返回子字符串在字符串中第一次出现的索引。
  • int indexOf(int ch, int fromIndex):从指定的fromIndex开始搜索字符串中第一次出现的指定字符的索引。
  • int indexOf(String str, int fromIndex):从指定的fromIndex开始搜索子字符串在字符串中的索引。
  • String substring(int start):返回从索引start开始到原字符串末尾的新字符串。
  • String substring(int start, int end):返回从索引start开始到索引end-1的新字符串。

4)String类的转换功能

  • byte[] getBytes():将字符串编码为字节序列。
  • char[] toCharArray():将字符串转换为字符数组。
  • static String valueOf(char[] chs):将字符数组转换为字符串。
  • static String valueOf(int i):将整数转换为字符串。
  • String toLowerCase():将字符串中的所有大写字母转换为小写字母。
  • String toUpperCase():将字符串中的所有小写字母转换为大写字母。
  • String concat(String str):将指定字符串连接到调用对象的末尾。

5)String类的其他功能

  • String replace(char old, char new):替换字符串中的字符。
  • String replace(String old, String new):替换字符串中的子字符串。
  • String trim():去除字符串两端的空白字符。
  • int compareTo(String str):按字典顺序比较两个字符串。
  • int compareToIgnoreCase(String str):忽略大小写地比较两个字符串。

4. StringBuffer类概述及其构造方法

1)StringBuffer类概述

StringBuffer用于可变的字符串操作,是线程安全的。与String相比,StringBuffer在字符串修改操作中更加高效。

构造方法

  • public StringBuffer()
  • public StringBuffer(int capacity)
  • public StringBuffer(String str)

2)StringBuffer类的成员方法

  • 添加功能:
    public StringBuffer append(String str)
    

追加字符串。
public StringBuffer insert(int offset, String str)
插入字符串。

- 删除功能:
```java
public StringBuffer deleteCharAt(int index)
删除指定索引的字符。
public StringBuffer delete(int start, int end)
删除指定索引区间的字符。
  • 替换功能:
    public StringBuffer replace(int start, int end, String str)
    

替换字符序列。

- 反转功能:
```java
public StringBuffer reverse()
反转字符串。
  • 截取功能:
    public String substring(int start)
    

截取子字符串。
public String substring(int start, int end)
截取子字符串。

5. Arrays类概述及其常用方法

Arrays类概述

Arrays类提供了一系列静态方法来操作数组,如排序和搜索。

成员方法

  • public static String toString(int[] a)
  • public static void sort(int[] a)
  • public static int binarySearch(int[] a, int key)

源码解析:

  • public static String toString(int[] a)
    这个方法属于java.lang.Integer类,是一个静态方法,用于将一个整型数组转换为字符串。
    源码大致如下:
    java
    public static String toString(int i) {
    return Integer.toString(i);
    }
    这个方法首先将数组转换为一个字符串表示,通常使用数组的默认toString方法,该方法会调用StringBuilder来构建字符串,最后返回这个字符串。

  • public static int binarySearch(int[] a,int key)
    这个方法属于java.util.Arrays类,是一个静态方法,用于在已排序的整型数组中使用二分查找算法查找特定元素。
    源码大致如下:
    java
    public static int binarySearch(int[] a, int key) {
    int low = 0;
    int high = a.length - 1;

    while (low <= high) {
    int mid = (low + high) >>> 1;
    int midVal = a[mid];

      if (midVal < key) {
          low = mid + 1;
      } else if (midVal > key) {
          high = mid - 1;
      } else {
          return mid; // key found
      }
    

    }
    return -1; // key not found
    }

6. 基本类型包装类概述

基本类型包装类允许基本数据类型封装成对象,从而提供更多的功能方法操作数据,特别是用于基本数据类型与字符串之间的转换。

  • Byte, Short, Integer, Long, Float, Double 对应 Character, Boolean

7. Integer类概述及其构造方法

1)Integer类概述

Integer类在对象中包装了一个基本类型int的值,并提供了多个方法,在int类型和String类型之间互相转换。

构造方法

  • public Integer(int value)
  • public Integer(String s)

2)Integer类成员方法

  • 从int到String的转换:
    public static String toString(int i)
    public static Integer valueOf(int i)
    
  • 从String到int的转换:
    public static int parseInt(String s)
    public static Integer valueOf(String s)
    
  • int 类型的实例方法
  • public int intValue():这个方法通常用在 Integer 对象上,返回其对应的 int 值。由于 intValue()Number 类的实例方法,Integer 类继承了这个方法。这允许你从包装的 Integer 对象中获取原始的 int 值。

3)常用的基本进制转换

  • public static String toBinaryString(int i):将一个十进制整数i转换为它的二进制字符串表示形式。
  • public static String toOctalString(int i):将一个十进制整数i转换为它的八进制字符串表示形式。
  • public static String toHexString(int i):将一个十进制整数i转换为它的十六进制字符串表示形式。
  • 十进制到其他进制:
    public static String toString(int i, int radix)
    
    将一个十进制整数i转换为指定基数radix的字符串表示形式。基数可以是2到36之间的任何整数。
  • 其他进制到十进制:
    public static int parseInt(String s, int radix)
    
    将一个字符串s按照给定的基数radix解析为一个十进制整数。基数同样可以是2到36之间的任何整数。

8. Character类概述及其构造方法

1)Character类概述

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

构造方法

public Character(char value)

2)Character类成员方法

  • public static boolean isUpperCase(char ch):这个方法检查给定的字符ch是否为大写字母。如果是大写字母,返回true;否则返回false
  • public static boolean isLowerCase(char ch):这个方法检查给定的字符ch是否为小写字母。如果是小写字母,返回true;否则返回false
  • public static boolean isDigit(char ch):这个方法检查给定的字符ch是否为数字字符(0-9)。如果是数字字符,返回true;否则返回false
  • public static char toUpperCase(char ch):这个方法将给定的字符ch转换为对应的大写字母。如果ch已经是大写字母或不是字母,返回ch本身。
  • public static char toLowerCase(char ch):这个方法将给定的字符ch转换为对应的小写字母。如果ch已经是小写字母或不是字母,返回ch本身。

9. Random类概述及其构造方法

1)Random类概述

此类用于产生随机数。如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

构造方法

  • public Random()
  • public Random(long seed)

2)Random类成员方法

  • public int nextInt():这个方法读取输入(通常是键盘输入或文件输入)中的下一个整数,并返回这个整数。如果输入的不是整数,将抛出InputMismatchException。
  • public int nextInt(int n):这个方法读取输入中的下一个整数,但与nextInt()不同的是,它还接受一个参数n,该参数指定了要读取的整数的最大值。如果读取的整数大于n,将抛出InputMismatchException。这个方法可以用来确保读取的整数在指定的范围内。

10. System类概述及其成员方法

System类概述

System类包含一些有用的类字段和方法。它不能被实例化。

成员方法

  • public static void gc():这个方法建议Java虚拟机(JVM)进行垃圾回收。它不会强制立即执行垃圾回收,但可以作为优化内存使用的一种提示。实际的垃圾回收时机取决于JVM的实现和当前的运行状态。
  • public static void exit(int status):这个方法用于终止当前运行的Java虚拟机。参数status是一个整数,表示程序的退出状态码。在Java中,非零的退出状态码通常表示程序异常终止。一旦调用这个方法,程序将停止执行,并返回给操作系统指定的状态码。
  • public static long currentTimeMillis():这个方法返回以毫秒为单位的当前时间戳,表示自1970年1月1日00:00:00 GMT+00:00以来的毫秒数。这个时间戳可以用来获取当前时间、测量时间间隔或记录事件发生的时间点。

11. Date类概述及其方法

1)Date类概述

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

构造方法

  • public Date()
  • public Date(long date)

2)成员方法

  • public long getTime():这个方法返回一个表示特定瞬间的Date对象自从1970年1月1日00:00:00 GMT(称为“历元”或“epoch”)以来的毫秒数。这通常被称为Unix时间戳。getTime()方法可以用来获取当前时间的毫秒表示,或者获取某个Date对象所表示的时间的毫秒值。
  • public void setTime(long time):这个方法将Date对象的日期设置为自1970年1月1日00:00:00 GMT以来的指定毫秒数。这意味着你可以使用这个方法来创建一个表示特定时间点的Date对象,或者更新一个已有Date对象的时间。

12. DateFormat类概述及其方法

DateFormat类概述

DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。是抽象类,所以使用其子类SimpleDateFormat。

SimpleDateFormat构造方法

  • public SimpleDateFormat()
  • public SimpleDateFormat(String pattern)

成员方法

  • public final String format(Date date):这个方法用于将一个Date对象格式化为一个字符串。SimpleDateFormat是不可变的(final),所以format方法不会修改其实例的状态。它使用SimpleDateFormat实例的模式来确定输出字符串的格式。
  • public Date parse(String source):这个方法用于解析一个符合当前SimpleDateFormat实例模式的字符串,并将其转换为一个Date对象。如果字符串不符合模式,将抛出ParseException。