Objects类
Objects类里的equals方法:
equals方法是判断是否相等,重写前:比较的是两个地址值;重写后:比较的是对象中的属性值。但是传入的有可能是null,这样就会有异常。而Objects类里的equals方法会对传入的值进行判断,如果是null就直接是false。
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
Objects类里的isNull方法:
判断是否为空。为空返回true;还有requireNonNull也是判断是否为空,为空就直接抛异常,不让程序继续走下去。
Arrays类
Arrays数组开发类的toString方法:
首先是判断传入的是否为空,是就返回null,在判断传入的是否有内容,没有就返回[],最后循环遍历数组拼接在一个stringBuilder的对象传出去。
public static String toString(int[] a) {
if (a == null)
return "null";
int iMax = a.length - 1;
if (iMax == -1)
return "[]";
StringBuilder b = new StringBuilder();
b.append('[');
for (int i = 0; ; i++) {
b.append(a[i]);
if (i == iMax)
return b.append(']').toString();
b.append(", ");
}
}
Arrays数组开发类的sort方法:
排序,
Arrays数组开发类的binarySearch方法:
查找,使用的是二分查找。
BigDecimal类
BigDecimal类,对于精准运算。
比如说0.1+0.2会得到0.30000002,会失去精准。而使用BigDecimal类里的add方法就不会有这些小数运算的精准问题。
Date类
Date类,表示时刻。
date类就是根据1970 年 1 月 1 日 00:00:00 GMT到现在的毫秒数来判断换算成现在的时间,然后显示出来。
主要就一个getTime,返回一个选择的具体时间,通过上面的毫秒数得到当前的时间。
DateFormat类
DateFormat类主要是格式化和解析日期字符串。
DateFormat中提供日期格式化和日期解析方法,具体方法说明如下:
- String format(Date date):将一个Date格式化为日期/时间字符串。
- Date parse(String source):从给定字符串的开始解析文本,以生成一个日期对象。如果解析失败则抛出ParseException。
另外,具体类是SimpleDateFormat构造方法如下:
- SimpleDateFormat():用默认的模式和默认语言环境的日期格式符号构造SimpleDateFormat。
- SimpleDateFormat(String pattern):用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。pattern参数是日期和时间格式模式,表16-2所示是常用的日期和时间格式模式。
Calendar类
Calendar类的主要方法:
static Calendar getInstance():使用默认时区和语言环境获得一个日历。
void set(int field, int value):将给定的日历字段设置为给定值。
void set(int year,int month,int date):设置日历字段YEAR、MONTH和DAY_OF_MONTH的值。
Date getTime():返回一个表示此Calendar时间值(从1970年1月1日00:00:00至现在的毫秒数)的Date对象。
boolean after(Object when):判断此Calendar表示的时间是否在指定时间之后,返回判断结果。
boolean before(Object when):判断此Calendar表示的时间是否在指定时间之前,返回判断结果。int compareTo(Calendar anotherCalendar):比较两个Calendar对象表示的时间值。
String类
String类是第一个类库,表示字符串,字符串是不变的,创建后无法更改,字符串完全相同时,可以共享,通常字符串存储在字符串常量池里。
创建字符串时,会先到常量池里找,如果找到就使用,如果没有找到在常量池里创建。