常用库类
一、 java.util.Objects
1 Object方法
1.1 equals
equals方法是判断两个对象是否相等,并且它是空安全(null safe)的。
在比较两个对象的时候,Object.equals方法容易抛出空指针异常。
源码如下
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
1.2 deepEquals
验证两个数组是否深层相等(deep equality),该方法在数组比较中尤其有用。
1.3 hash(Object… values)
为输入值序列生成散列码(hash code)。
1.4 toString(Object o)
如果参数不为 null 则返回调用 toString 的结果,否则返回 null
1.5 requireNonNull(T obj)
如果参数不为 null 则返回 T ,否则抛出 NullPointerException。
二、java.lang.Math
常用方法
- Math.round(),返回最接近参数的 int,它表示"四舍五入"
- Math.rint(),返回最接近参数并等于某一整数的 double 值,如果有2个数同样接近,则返回偶数的那个
- Math.floor() ,返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数
- Math.ceil(),返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数
- Math.cbrt(),返回 double 值的立方根
- Math.sqrt(),返回正确舍入的 double 值的正平方根
- Math.pow(),返回第一个参数的第二个参数次幂的值
- Math.max(),返回两个 double 值中较大的一个
- Math.min(),返回两个 double 值中较小的一个
- Math.abs(),求取绝对值
三、java.util.Arrays
Arrays类包含用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用。
- asList(), 作用是返回由指定数组支持的固定大小列表, 这个方法返回的 ArrayList 不是我们常用的集合类 java.util.ArrayList。这里的 ArrayList 是 Arrays 的一个内部类 java.util.Arrays.ArrayList
- sort(),该方法是用于数组排序,在 Arrays 类中有该方法的一系列重载方法,能对7种基本数据类型,包括 byte,char,double,float,int,long,short 等都能进行排序,还有 Object 类型(实现了Comparable接口),以及比较器 Comparator。
- binarySearch(),用二分法查找数组中的某个元素。该方法和 sort 方法一样,适用于各种基本数据类型以及对象。
- copyOf(), 拷贝数组元素。底层采用 System.arraycopy() 实现,这是一个native方法。
- fill(), 该系列方法用于给数组赋值,并能指定某个范围赋值。
四、java.math.BigDecimal
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float和Double处理,但是Double.valueOf(String) 和Float.valueOf(String)会丢失精度。所以开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类
- abs(),返回BigDecimal值的绝对值BigDecimal。
- abs(MathContext mc),返回BigDecimal值的绝对值的BigDecimal,并根据上下文设置进行舍入。
- add(BigDecimal augend),返回值为(this + augend),且其比例为的值max(this.scale(), augend.scale())。
- add(BigDecimal augend, MathContext mc),返回值为(this + augend),根据上下文设置进行舍入。
- byteValueExact(),将其转换BigDecimal为byte,并且检查丢失的信息。
- compareTo(BigDecimal val), 将BigDecimal与指定的val进行比较。
- divide(BigDecimal divisor),返回值为(this / divisor),其首选比例为(this.scale() - divisor.scale()); 如果无法表示确切的商(因为它具有非终止的十进制扩展),ArithmeticException则抛出一个。
五、java.util.Date
标准时间:1970年1月1日0时0分0秒。每个地区的标准时间是不一样的,因为存在时区的差异新,中国属于东八区,因此标准时间是1970年1月1日8时0分0秒
- Date(),用于无参的方式构造对象,默认使用当前的系统时间。
- Date(long date),根据参数指定的毫秒数来构造对象,其中参数为距离1970年1月1日0时0分0秒的毫秒数(与File类搭配使用)
- getTime(), 获取当前对象距离1970年1月1日0时0分0秒的毫秒数
- setTime(), 用于设置当前对象的时间为参数指定的毫秒数,距离标准时间
六、java.text.DateFormat
此类用于格式化时间输出
- parse(),解析字符串的文本,返回 Date。
- format(),将一个 Date 格式化为日期/时间字符串。
七、java.util.Calendar
用于描述日期信息的,该类中很多方法取代了Date类的过时方法。该类是一个抽象类,不能实例化对象。
- getInstance(),用户获取当前类的引用
- set(int year, int month, int date, int hourOfDay, int minute, int second),根据参数设置年月日时分秒
- getTime(), 用于将Calendar类型转换为Date类型并返回。
八、java.lang.System
提供的设施包括标准输入,标准输出和错误输出流; 访问外部定义的属性和环境变量; 加载文件和库的方法; 以及用于快速复制阵列的一部分的实用方法
-
字段
修饰符和类型 领域和描述 public final static PrintStream err “标准”错误输出流。 public final static InputStream in “标准”输入流。 public final static PrintStream out “标准”输出流。 -
方法
-
currentTimeMillis(),返回正在运行的Java虚拟机的高分辨率时间源的当前值,以纳秒为单位
-
nanoTime(),将指定源数组中的数组从指定位置开始复制到目标数组的指定位置
-
arraycopy(Object src, int srcPos, Object dest, int destPos, int length),
-
lineSeparator(),返回依赖于系统的行分隔符字符串。
-
getProperties(),确定当前系统属性
-
相关属性
键 相关价值的描述 java.version Java Runtime Environment版本 java.vendor Java运行时环境供应商 java.vendor.url Java供应商URL java.home Java安装目录 java.vm.specification.version Java虚拟机规范版本 java.vm.specification.vendor Java虚拟机规范供应商 java.vm.specification.name Java虚拟机规范名称 java.vm.version Java虚拟机实现版本 java.vm.vendor Java虚拟机实现供应商 java.vm.name](http://java.vm.name/) Java虚拟机实现名称 java.specification.version Java运行时环境规范版本 java.specification.vendor Java运行时环境规范供应商 java.specification.name Java运行时环境规范名称 java.class.version Java类格式版本号 java.class.path Java类路径 java.library.path 加载库时要搜索的路径列表 java.io.tmpdir 默认临时文件路径 java.compiler 要使用的JIT编译器的名称 java.ext.dirs 扩展目录或目录的路径 已过时。 可以在将来的版本中删除此属性以及实现它的机制。 os.name 操作系统名称 os.arch 操作系统架构 os.version 操作系统版本 file.separator 文件分隔符(UNIX上的“/”) path.separator 路径分隔符(UNIX上的“:”) line.separator 行分隔符(UNIX上为“\ n”) user.name 用户的帐户名称 user.home 用户的主目录 user.dir 用户当前的工作目录
九、String
常用方法
SN(序号) | 方法描述 |
---|---|
1 | char charAt(int index),返回指定索引处的 char 值。 |
2 | int compareTo(Object o),把这个字符串和另一个对象比较。 |
3 | int compareTo(String anotherString),按字典顺序比较两个字符串。 |
4 | int compareToIgnoreCase(String str),按字典顺序比较两个字符串,不考虑大小写。 |
5 | String concat(String str),将指定字符串连接到此字符串的结尾。 |
6 | boolean contentEquals(StringBuffer sb),当且仅当字符串与指定的StringBuffer有相同顺序的字符时候返回真。 |
7 | static String copyValueOf(char data),返回指定数组中表示该字符序列的 String。 |
8 | static String copyValueOf(char data, int offset, int count),返回指定数组中表示该字符序列的 String。 |
9 | boolean endsWith(String suffix),测试此字符串是否以指定的后缀结束。 |
10 | boolean equals(Object anObject),将此字符串与指定的对象比较。 |
11 | boolean equalsIgnoreCase(String anotherString),将此 String 与另一个 String 比较,不考虑大小写。 |
12 | byte getBytes(),使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 |
13 | byte getBytes(String charsetName),使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中。 |
14 | void getChars(int srcBegin, int srcEnd, char dst, int dstBegin),将字符从此字符串复制到目标字符数组。 |
15 | int hashCode(),返回此字符串的哈希码。 |
16 | int indexOf(int ch),返回指定字符在此字符串中第一次出现处的索引。 |
17 | int indexOf(int ch, int fromIndex),返回在此字符串中第一次出现指定字符处的索引,从指定的索引开始搜索。 |
18 | int indexOf(String str),返回指定子字符串在此字符串中第一次出现处的索引。 |
19 | int indexOf(String str, int fromIndex),返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。 |
20 | String intern(),返回字符串对象的规范化表示形式。 |
21 | int lastIndexOf(int ch),返回指定字符在此字符串中最后一次出现处的索引。 |
22 | int lastIndexOf(int ch, int fromIndex),返回指定字符在此字符串中最后一次出现处的索引,从指定的索引处开始进行反向搜索。 |
23 | int lastIndexOf(String str),返回指定子字符串在此字符串中最右边出现处的索引。 |
24 | int lastIndexOf(String str, int fromIndex), 返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索。 |
25 | int length(),返回此字符串的长度。 |
26 | boolean matches(String regex),告知此字符串是否匹配给定的正则表达式。 |
27 | boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len),测试两个字符串区域是否相等。 |
28 | boolean regionMatches(int toffset, String other, int ooffset, int len),测试两个字符串区域是否相等。 |
29 | String replace(char oldChar, char newChar),返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。 |
30 | String replaceAll(String regex, String replacement),使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。 |
31 | String replaceFirst(String regex, String replacement),使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。 |
32 | String split(String regex),根据给定正则表达式的匹配拆分此字符串。 |
33 | String split(String regex, int limit),根据匹配给定的正则表达式来拆分此字符串。 |
34 | boolean startsWith(String prefix), 测试此字符串是否以指定的前缀开始。 |
35 | boolean startsWith(String prefix, int toffset),测试此字符串从指定索引开始的子字符串是否以指定前缀开始。 |
36 | CharSequence subSequence(int beginIndex, int endIndex),返回一个新的字符序列,它是此序列的一个子序列。 |
37 | String substring(int beginIndex),返回一个新的字符串,它是此字符串的一个子字符串。 |
38 | String substring(int beginIndex, int endIndex),返回一个新字符串,它是此字符串的一个子字符串。 |
39 | toCharArray(),将此字符串转换为一个新的字符数组。 |
40 | String toLowerCase(),使用默认语言环境的规则将此 String 中的所有字符都转换为小写。 |
41 | String toLowerCase(Locale locale),使用给定 Locale 的规则将此 String 中的所有字符都转换为小写。 |
42 | String toString(),返回此对象本身(它已经是一个字符串!)。 |
43 | String toUpperCase(),使用默认语言环境的规则将此 String 中的所有字符都转换为大写。 |
44 | String toUpperCase(Locale locale),使用给定 Locale 的规则将此 String 中的所有字符都转换为大写。 |
45 | String trim(),返回字符串的副本,忽略前导空白和尾部空白。 |
46 | static String valueOf(primitive data type x),返回给定data type类型x参数的字符串表示形式。 |
47 | CharSequence chars(),判断是否包含指定的字符系列。 |
48 | isEmpty(),判断字符串是否为空。 |