Java
java.util.Objects
在 Java 7 以后引入了 java.util.Objects
类。 Java 7 引入的 Objects
类定义了处理各种任务所需的静态方法。
这个类由对对象进行操作的静态实用方法组成。这些实用程序包括用于计算对象的哈希代码、为对象返回字符串以及比较两个对象的空值安全或空值容忍方法。
public final class Objects
extends Object
下面是几个常用的方法:
-
方法摘要
Modifier and Type Method and Description static <T> int
compare(T a, T b, Comparator<? super T> c)
,如果参数相同返回0,否则返回c.compare(a, b)
。static boolean
deepEquals(Object a, Object b)
如果参数完全相等,则返回true
,否则返回false
。static boolean
equals(Object a, Object b)
如果参数相等返回true
,否则返回false
。static int
hash(Object... values)
为一系列输入值生成哈希代码。static int
hashCode(Object o)
返回非空参数的哈希代码,空参数返回0。static boolean
isNull(Object obj)
如果提供的引用为空,则返回true
,否则返回false
。static boolean
nonNull(Object obj)
如果提供的引用为非空,则返回true
,否则返回false
。static <T> T
requireNonNull(T obj)
检查指定的对象引用是否为空。static <T> T
requireNonNull(T obj, String message)
检查指定的对象引用是否为空,如果为空,将引发自定义的NullPointerException
。static <T> T
requireNonNull(T obj, Supplier<String> messageSupplier)
检查指定的对象引用是否为空,如果为空,将引发自定义的NullPointerException
。)。static String
toString(Object o)
对于非空参数,返回调用toString
的结果,对于空参数,返回null
。static String
toString(Object o, String nullDefault)
如果第一个参数不为空,则返回对第一个参数调用toString
的结果,否则返回第二个参数。