大学之道,在明明德,在亲民,在止于至善
是一些比较常见的常用类,不是所有的常用类。
1. 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(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(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(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接口
| 方法 | 类型 | 说明 |
|---|---|---|
| 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] | 表示a |
| [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 | interface IMessage extends AutoCloseable { |
9. Runtime类
| 方法 | 类型 | 说明 |
|---|---|---|
| public static Runtime getRuntime() | 普通 | 通过该类的实例对象来获取当前虚拟机的相关信息 |
| public int availableProcessors() | 普通 | 获取可以用的处理器的个数 |
| long maxMemory() | 普通 | 返回 Java 虚拟机试图使用的最大内存量 |
| long freeMemory() | 普通 | 返回 Java 虚拟机中的空闲内存量 |
| long totalMemory() | 普通 | 返回 Java 虚拟机中的内存总量 |
| void gc() | 普通 | 运行垃圾收集器,释放垃圾空间 |
10. 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 | //传统回收前依靠finalize(),jdk1.9提供Cleaner类 |
12. 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(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(long time) | 构造 | 以指定的毫秒值创建Date对象 |
| long getTime() | 普通 | 获取Date对象的毫秒值 |
| setTime(long time) | 普通 | 设置Data对象的毫秒值 |
16. 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 | //Locale类 |
18. 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类
| 方法 | 类型 | 说明 |
|---|---|---|
| public static UUID randomUUID(); | 普通 | 生成一个随机UUID时 |
| public static UUID fromString(String name) | 普通 | 通过指定格式的字符串获取UUID数据 |
20. Optional空处理
| 方法 | 类型 | 说明 |
|---|---|---|
| public static |
普通 | 返回空数据 |
| public T get() | 普通 | 获取保存的数据 |
| public static |
普通 | 保存数据,如果有null则出现NullPointerException异常 |
| public static |
普通 | 保存数据,允许为空 |
| public T orElse(T other) | 普通 | 空数据时返回其他数据 |
21. ThreadLocal
| 方法 | 类型 | 说明 |
|---|---|---|
| public void set(T value) | 普通 | 保存数据 |
| public T get() | 普通 | 获取数据 |
| public void remove | 普通 | 删除当前线程保存的数据 |
22. Scanner类
| 方法 | 类型 | 说明 |
|---|---|---|
| Scanner(InputStream is) | 构造 | 构造一个文本扫描器,它生成的值是从指定的值输入流扫描的,System.in 是一个标准的输入流,属于InputStream |
| boolean hasNext() | 普通 | 是否有下一个数,有true,没有false |
| String next() | 普通 | 获取下个数 |
| int nextInt() | 普通 | 获取下个int数据 |
| String nextLine() | 普通 | 获取一行数据 |
23. 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. 总结
还有很多没有写完的常用类,欢迎大家总结!