Java常用类及方法

一、Object

Object类是所有类的父类,也就是说任何一个类在定义时如果没有明确地继承一个父类,那它就是Object的子类。

Object类常用方法:

方法说明
Object clone()创建与该对象的类相同的新对象。
boolean equals(Object)比较两个对象是否相等,默认比较的是地址值。
void finalize()当垃圾回收器确定不存在对该对象的更多引用时,对象的垃圾回收器调用该方法。
Class getClass()返回一个对象运行时的实例类(.class文件)。
int hashCode()返回该对象的散列码值。
void notify()激活等待在该对象的监视器上的一个线程。
void notifyAll激活等待在该对象的监视器上的全部线程。
String toString()返回该对象的字符串表示,默认返回运行时类名+@+对象的hashCode的16进制数。
void wait()在其他线程调用此对象的notify()方法或notifyAll()方法前,导致当前线程等待。

注:

  • 如果两个对象的哈希码值不同,那这两个对象一定不等;

  • 如果两个对象的哈希码值相同,不能保证这两个对象一定相等;

  • 克隆对象对应的类需要实现Cloneable接口,否则会报错:java.lang.CloneNotSupportedException;

常覆写Object类的3个方法:toString()、equals(Object obj)、hashCode()

二、String

String表示的是字符串,字符串是常量(值定义了之后,不可修改),字符串是一个char类型的数组。

public final class String

class前加上final代表了该类不可以被继承,因为继承了之后,子类就可以重写父类的方法,这是不允许的。

构造方法:

方法说明
String()创建一个空的字符串。
String(byte[] bys)通过字节数组创建字符串。
String(char[] chs)通过字符数组创建字符串。
String(byte[] bys, int offset, int length)通过字符数据一部分创建字符串。
String(char[] chs, int offset, int length)通过字符数组一部分创建字符串。
String(String original)通过字符串常量值创建字符串。

判断功能:

方法说明
equals(Object obj)比较两个字符串是否相等。注:equals 方法容易抛空指针异常,应使用常量或确定有值的对象来调用
equalsIngnoreCase(Object obj)忽略大小写比较两个字符串是否相等。
contains(String str)是否包含指定字符串。
startsWith(String str)是否以指定的字符串开头。
endWith(String str)是否以指定的字符串结尾。
isEmpty()是否为空。
matches(String regex)判断字符串是否匹配给定的正则表达式。注:使用正则表达式的d时,因为需要先进行转义,所以d用 d来表示

获取功能:

方法说明
length()获取长度。
charAt(int index)获取指定索引位置处的字符。
indexOf(int ch)获取指定字符第一次出现的索引值,从0开始
indexOf(int ch, int formIndex)获取从指定索引位置开始,获取指定字符第一次出现的索引值。
indexOf(String s)获取指定字符串第一次出现的索引值。
indexOf(String s, int fromIndex)获取从指定索引位置开始,指定字符串第一次出现的索引值。
lastIndexOf(int ch)获取指定字符最后一次出现的索引值。
substring(int start)从指定位置开始一直截取到末尾。
substring(int start, int end)截取[start,end-1]范围

注:如果indexOf方法未找到,则返回-1.

转换功能:

方法说明
byte[] getBytes()将字符串转成字节数组。
char[] toCharArray()将字符串转成字符数组。
static valueOf(char[] chs)将char[]转成字符串。
static valueOf(int num)将int类型转成字符串。
static valueOf(Object obj)将任意类型转成字符串。
toLowerCase()转成小写。
toUpcase()转成大写。
concat(String str)字符连接。

其他功能:

方法说明
replace(char old, char new)将old字符替换成new字符。
replace(String old, String new)将old字符串替换成new字符串。
trim()去除两边空格。
int compareTo(String s)字典比较,如果前面值小于后面值返回负数,否则返回正数,先比较第一个元素,如果相等在比较第二个元素,返回元素之间的差值;如果比较字符有包含关系,返回的值是长度差值。
int compareTolgnoreCase(String s)忽略大小写字典比较。
String replaceAll(String regx, String replacement)使用给定的replacement替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceFirst(String regex, String replacement)使用给定的replacement替换字符串匹配给定的正则表达式的第一个子字符串。
String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit)根据匹配给定的正则表达式来拆分此字符串。

三、StringBuffer类

StringBuffer是可变长度,如果代码中有比较多的字符串拼接,建议使用StringBuffer效率好。StringBuffer初始大小是16个字符的数组,如果数组满了后,新的容量是原来的2倍+2。

常用方法:与StringBuilder差不多。

四、StringBuilder类

线程不安全的可变字符序列。

构造方法:

方法说明
StringBuilder()已默认容量创建空的StringBuilder对象。
StringBuilder(int capacity)以指定容量创建空的StringBuilder对象。
StringBuilder(String str)以指定的字符串创建StringBuilder对象。

常用方法:

方法说明
获取容量。
int length()获取长度。
append(int value)追加,可以追加多种类型。
insert(int offset,String s)在指定的位置插入指定数据。
deleteCharAt(int index)删除指定索引处的元素。
delete(int start, int end)删除[start,end-1]范围内的元素。
reverse()元素反转。

String、StringBuilder、StringBuffer

  • String内容不可改变。

  • StringBuilder和StringBuffer内容可变。

  • StringBuilder是线程不安全的,不同步,效率高。

  • StringBuffer是线程安全的,同步,效率低。

五、Math类

方法说明
abs(int a)绝对值。
ceil(double d)向上取整。
floor(double d)向下取整。
max(int a, int b)最大值。
pow(double a, double b)a的b次幂。
random()随机数[0.0,1.0)
round(float f)四舍五入。
sqrt(double d)算数平方根。

六、Date类

方法说明
Date()以当前时间毫秒值创建Date对象。
Date(long time)以指定的毫秒值创建Date对象。
long getTime()返回自从GMT 1970-01-01 00:00:00到此date对象上时间的毫秒数。
setTime(long time)设置Date对象的毫秒值。

七、DateFormat

DateFormat是一个抽象类,用来格式化或解析日期。

getDateInstance(int style, Locale loc):获取日期格式器,改格式器具有给定的语言环境和给定的格式化风格。

String format(Date date):格式化。

Date parse(String time):解析。

八、SimpleDateFormat

SimpleDateFormat是DateFormat的子类。

  1. 构造方法:
  • SimpleDateFormat():以默认模式创建对象。

  • SimpleDateFormat(String pattern):以指定模式创建对象。

常用模式:

  • yyyy 年

  • MM 月

  • dd 日

  • HH 时

  • mm 分

  • ss 秒

  1. 常用方法:
  • String format(Date date):格式化。

  • Date parse(String time):解析。

// 当前时间 java.util.Date 工具类包下的Date
        Date date = new Date();
        System.out.println(date);
        // 构造方法传入自己的格式
        // yyyy-MM-dd HH:mm:ss(java) yyyy-mm-dd hh24:mi:ss(oracle)
        SimpleDateFormat format
                = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        // 把日期转换为一定格式的字符串
        String dateStr = format.format(date);
        System.out.println(dateStr);
        // 把指定的字符串日期解析为日期对象
        Date newDate = null;
        try {
            newDate = format.parse("2021-03-15 15:00:01");
        } catch (ParseException e) {
            e.printStackTrace();
        }
        System.out.println(newDate);

九、Calendar类

日历类,用于获取或者操作日历字段(年月日),该类是一个抽象类,不可被实例化。

常用方法:

  • static Calender getInstance():以默认时区和语言创建日历。

  • int get(int field):获取指定字段的日历值。

  • set(int field, int value):给指定的日历字段设置指定的值。

  • set(int year, int month, int date):设置年月日

  • Date getTime():获取日历对象的日期。

  • setTime(Date d):设置日历对象的日期。

  • add(int field, in amount):对指定的日历字段添加指定的值。

原文地址:https://www.cnblogs.com/zbh355376/p/14545362.html