常用类库 - Objects
用于操作对象或在操作前检查某些条件
Objects(Java SE 11 & JDK 11)
常用方法
1.checkIndex (int index, int length)
检查下标是否在0(包含)到 length(不包含)范围内,是则返回index,否则会产生IndexOutOfBoundsException(下标越界)异常。
public static void main(String[] args) {
System.out.println(Objects.checkIndex(4,10));
System.out.println(Objects.checkIndex(9,10));
System.out.println(Objects.checkIndex(14,10));
}
2.equals (Object a, Object b)
参数相等返回true,不等则返回false。对比Object a equals(Object b),该方法的优点在于当参数为空时可以避免NullPointerException(空指针异常)。
public static void main(String[] args) {
System.out.println(Objects.equals(null,"ABC"));
System.out.println(Objects.equals("ABC",null));
System.out.println(Objects.equals("ABC","ABC"));
System.out.println(Objects.equals("ABC","BCD"));
}
3.deepEquals (Object a, Object b)
主要用于判断两个数组是否深层相等,适用于任意深度的嵌套数组。如果深度相等则返回true,不等则返回false。
1.如果两个数组使用equals返回true,则使用deepEquals也返回true,也就是说在比较的两个数组均为一维数组的前提下,equals和deepEquals的比较结果没有区别;
2.当比较多维数组时,则需要使用deepEquals方法。
4.isNull (Object obj)
用于判断参数是否为空,为空返回true,不为空则返回false。
5.nonNull (Object obj)
用于判断参数是否不为空,不为空返回true,为空则返回false。
6.requireNonNull (T obj)
用于判断参数是否不为空,如果不为空则返回原参数对象,为空则产生NullPointerException(空指针)异常。
7.requireNonNull (T obj, String message)
用于判断参数是否不为空,如果不为空则返回原参数对象,为空则产生自定义的NullPointerException(空指针)异常。
8.toString (Object o)
toString()方法是一个自我描述的方法,当输出某实例对象时,可以通过重写自定义等方式为对象实现输出自我描述的信息。
Object类的toString()方法默认返回该对象实现类的“类名+@+hashcode”值,这个返回值不能实现自我描述功能,所以需要重写Object类的toString()方法来实现。
9.toString (Object o, String nullDefault)
如果第一个参数不是null,则返回在第一个参数上调用 toString的结果,否则返回第二个参数。