java常用类

大学之道,在明明德,在亲民,在止于至善

是一些比较常见的常用类,不是所有的常用类。

1. Object(所有类的父类)

Object类的常用方法
方法 类型 说明
Object clone() 普通 浅拷贝,需要实现Cloneable接口,深拷贝需要反序列化
boolean equals(Object) 普通 比较两个对象的地址是否相等
void finalize() 普通 当垃圾回收器确定不存在对该对象的更多引用时,对象的圾回收器调用该方法
Class getClass() 普通 反射返回一个对象运行时的实例类(.class文件)
int hashCode() 普通 返回该对象的散列码值,可以判断两个对象是否相等,不同一定不等,相同不一定相等
void notify() 普通 激活等待在该对象的监视器上的一个线程,notify(), wait()依赖于“同步锁”<共享的资源>
void notifyAll() 普通 激活等待在该对象的监视器上的全部线程
String toString() 普通 默认返回运行时类名+@+对象的hashCode的16进制数
void wait() 普通 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待

2. String类

String类的常用方法
方法 类型 说明
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) 普通 比较两个字符串是否相等
equalsIngnoreCase(Object obj) 普通 忽略大小写比较两个字符串是否相等
contains(String str) 普通 是否包含指定字符串
startsWith(String str) 普通 是否以指定的字符串开头
endWith(String str) 普通 是否以指定的字符串结尾
isEmpty() 普通 是否为空
matches(String regex) 普通 判断字符串是否匹配给定的正则表达式
length() 普通 获取长度
charAt(int index) 普通 获取指定索引位置处的字符
indexOf(int ch) 普通 获取指定字符第一次出现的索引值(从0开始)
indexOf(int ch,int fromIndex) 普通 获取从指定索引位置开始,获取指定字符第一次出现的索引值
indexOf(String s) 普通 获取指定字符串第一次出现的索引值
indexOf(String s,int fromIndex) 普通 获取从指定索引位置开始,获取指定字符串第一次出现的索引值
lastIndexOf(int ch) 普通 获取指定字符最后一次出现的索引值
substring(int start) 普通 从指定位置开始一直截取到末尾
substring(int start,int end) 普通 截取[start,end)范围
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 compareToIgnoreCase(String s) 普通 忽略大小写字典比较
String replaceAll(String regex, String replacement) 普通 使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串
String replaceFirst(String regex, String replacement) 普通 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串
String[] split(String regex) 普通 根据给定正则表达式的匹配拆分此字符串
String[] split(String regex, int limit) 普通 根据匹配给定的正则表达式来拆分此字符串

3. StringBuilder类

StringBuilder类的常用方法
方法 类型 说明
StringBuilder() 构造 以默认容量创建空的StringBuilder对象
StringBuilder(int capacity) 构造 以指定容量创建空的StringBuilder对象
StringBuilder(String str) 构造 以指定的字符串创建StringBuilder对象
int capacity() 普通 获取容量
int length() 普通 获取长度
append(int value) 普通 追加。可以追加多种类型
insert(int offset,String s) 普通 在指定的位置插入指定数据
deleteCharAt(int index) 普通 删除指定索引处的元素
delete(int start,int end) 普通 删除[start,start-1]范围内的元素
replace(int start,int end,String s) 普通 将[start,end-1]范围内的元素替换成指定字符串
reverse() 普通 元素反转
String subString(int start) 普通 截取指定位置一直到末尾
String subString(int start,int end) 普通 截取[start,end-1]范围

4. StringBuffer类

StringBuffer类的常用方法
方法 类型 说明
StringBuffer() 构造 以默认容量创建空的StringBuffer对象
StringBuffer(int capacity) 构造 以指定容量创建空的StringBuffer对象
StringBuffer(String str) 构造 以指定的字符串创建StringBuffer对象
append(int value) 普通 追加。可以追加多种类型
insert(int offset,String s) 普通 在指定的位置插入指定数据
delete(int start,int end) 普通 删除[start,start-1]范围内的元素
reverse() 普通 元素反转

5. CharSequence接口

CharSequence接口的常用方法
方法 类型 说明
public char charAt(int index) 普通 获取指定索引的字符
public int length() 普通 获取字符串长度
public CharSequence subSequence(int start, int end) 普通 截取部分字符串
  • String、StringBuilder、StringBuffer三者都实现了CharSequence接口

  • String内容不可改变,StringBuilder和StringBuffer内容可变

  • StringBuilder是线程不安全的,不同步,效率高;StringBuffer是线程安全的,同步,效率低

6. 编码表

编码表
编码名字 说明
ASCII码 最高为是符号为,其他是数值位,所有编码表都兼容ASCII码表
ISO-8859-1 拉丁码表
BG2312 中文编码表
GBK GB2312的升级版,1个汉字对应2个字节
GB18030 GBK的升级版
BIG-5 中文繁体编码表,俗称”大5码”
Unicode 国际标注码,所有字符都有两个字节表示,Java默认使用该编码表
UTF-8 万国码,一个汉字对应3个字节

7. 正则表达式

正则表达式
正则表达式 说明
x x字符,a表a字符
\\ 反斜线字符
\n 换行符
\r 回车符
\t 制表符
[abc] 表示a、b、c中的一个字符
[^abc] 表示不是a、b、c中的任何一个字符
[a-zA-Z] 表示az或AZ中的一个字符
[0-9] 表示数字
. 表示任意字符
\. 表示’.’字符
\d 表示数字字符,[0-9]
\D [^0-9],表示非数字字符
\w 表示单词字符,[a-zA-Z_0-9]
\W [^a-zA-Z_0-9],表示非单词字符
\s 任意一位空格如”\n“、”\t“
\S 任何一位非空格
^ 表示行的开头
$ 表示行的结尾
\b 表示单词的边界
? 表示0次或者1次
* 表示0次或者多次
+ 表示1次或者多次
{n} 表示n次
{n,} 表示至少n次
{n,m} n~m次
正则表达式A正则表达式B
正则表达式A|正则表达式B
(正则表达式) 多个作为一组表示

8. AutoCloseable接口

使用方式,自动关闭处理
1
2
3
interface IMessage extends AutoCloseable {
...
}

9. Runtime类

Runtime类的常用方法
方法 类型 说明
public static Runtime getRuntime() 普通 通过该类的实例对象来获取当前虚拟机的相关信息
public int availableProcessors() 普通 获取可以用的处理器的个数
long maxMemory() 普通 返回 Java 虚拟机试图使用的最大内存量
long freeMemory() 普通 返回 Java 虚拟机中的空闲内存量
long totalMemory() 普通 返回 Java 虚拟机中的内存总量
void gc() 普通 运行垃圾收集器,释放垃圾空间

10. System类

System类的常用方法
方法 类型 说明
没有构造方法
public static void arrayCopy(Object[] srcArr,int srcPos,Object[] desArr,int destPos,int len) 普通 数组复制
public static long currentTimeMills() 普通 获取当前时间毫秒值
public static void gc() 普通 运行垃圾回收处理机制(系统会在某个不确定的时间调用该方法),会调用finalize(),进行垃圾回收
exit(int status) 普通 退出JVM,0表示非异常退出

11. Cleaner类

使用方式,自动释放资源
1
2
3
4
//传统回收前依靠finalize(),jdk1.9提供Cleaner类
class MemberCleaning implements AutoCloseable {
...
}

12. Math类

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) 普通 算术平方根
log(int a) 普通 对数

13. Random类

Random类的常用方法
方法 类型 说明
Random() 构造 以当前时间毫秒值作为种子,创建Random对象
Random(long seed) 构造 以指定种子创建Random对象
nextInt() 普通 生成1个int类型范围的随机数
nextInt(int n) 普通 产生1个[0,n-1]范围内的随机数

14. 大数字处理类

大数字处理类的常用方法
方法 类型 说明
BigInteger(String s) 构造 通过字符串创建BigInteger对象
add(BigInteger bi) 普通 加法运算
subtract(BigInteger bi) 普通 减法运算
multiply(BigInteger bi) 普通 乘法运算
divide(BigInteger bi) 普通 除法运算
public BigInteger remainder(BigInteger val) 普通 做取余运算
public BigInteger[] divideAndRemainder (BigInteger val) 普通 用数组返回余数和商,结果数组中第一个值为商,第二个值为余数
public BigInteger max(BigInteger val) 普通 返回较大的数值
public BigInteger min(BigInteger val) 普通 返回较小的数值
BigDecimal(String s) 构造 通过字符创建BigDecimal对象
BigDecimal(int s) 构造 通过int创建BigDecimal对象
BigDecimal(double s) 构造 通过double创建BigDecimal对象
public BigDecimal add(BigDecimal augend) 普通 做加法操作
ublic BigDecimal subtract(BigDecimal subtrahend) 普通 做减法操作
public BigDecimal multiply(BigDecimal multiplicand) 普通 做乘法操作
public BigDecimal divide(BigDecimal divisor , int sacle ,int roundingMode) 普通 做除法操作,方法中 3 个参数分别代表除数、商的小数点后的位数、近似处理模式

15. Date类

Date类的常用方法
方法 类型 说明
Date() 构造 以当前时间毫秒值创建Date对象
Date(long time) 构造 以指定的毫秒值创建Date对象
long getTime() 普通 获取Date对象的毫秒值
setTime(long time) 普通 设置Data对象的毫秒值

16. SimpleDateFormat类(子类)和DateFormat类(抽象类)

SimpleDateFormat类(子类)和DateFormat类(抽象类)的常用方法
方法 类型 说明
getDateInstance(int style,Locale loc) 普通 获取日期格式器,该格式器具有给定的语言环境和给定的格式化风格
String format(Date date) 普通 格式化
Date parse(String time) 普通 解析
SimpleDateFormat() 构造 以默认模式创建对象
SimpleDateFormat(String pattern) 构造 以指定模式创建对象
String format(Date date) 普通 格式化
Date parse(String time) 普通 解析

17. 国际化

国际化使用方式
1
2
//Locale类
locale loc = new Locale("zh","CN");

18. Arrays数组操作类

Arrays数组操作类的常用方法
方法 类型 说明
public static void sort(Object[] a) 普通 升序排列
public static int binarySearch(Object[] a, Object key) 普通 对排好序的数组进行二分查找法操作
public static int compare(int[] a,int[] b) 普通 比较两个数组的大小,大于(返回1),小于(返回-1),等于(返回0)
public static boolean equals(long[] a, long[] a2) 普通 数组相等判断
public static void fill(int[] a, int val) 普通 数组填充
public static String toString(int[] a) 普通 数组转换为字符串

19. UUID类

UUID类的常用方法
方法 类型 说明
public static UUID randomUUID(); 普通 生成一个随机UUID时
public static UUID fromString(String name) 普通 通过指定格式的字符串获取UUID数据

20. Optional空处理

Optional空处理类的常用方法
方法 类型 说明
public static Optionalempty() 普通 返回空数据
public T get() 普通 获取保存的数据
public static Optionalof(T value) 普通 保存数据,如果有null则出现NullPointerException异常
public static OptionalofNullable(T value) 普通 保存数据,允许为空
public T orElse(T other) 普通 空数据时返回其他数据

21. ThreadLocal

ThreadLocal类的常用方法
方法 类型 说明
public void set(T value) 普通 保存数据
public T get() 普通 获取数据
public void remove 普通 删除当前线程保存的数据

22. Scanner类

Scanner类的常用方法
方法 类型 说明
Scanner(InputStream is) 构造 构造一个文本扫描器,它生成的值是从指定的值输入流扫描的,System.in 是一个标准的输入流,属于InputStream
boolean hasNext() 普通 是否有下一个数,有true,没有false
String next() 普通 获取下个数
int nextInt() 普通 获取下个int数据
String nextLine() 普通 获取一行数据

23. Calendar类

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,int amount) 普通 对指定的日历字段添加指定的值

24. 总结

还有很多没有写完的常用类,欢迎大家总结!