Objects类
在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。
常用方法
Objects判断对象是否相等
- public static boolean equals(Object a, Object b):判断两个对象是否相等。
源码
public static boolean equals(Object a, Object b) { return (a == b) || (a != null && a.equals(b)); }
好处:
在比较两个对象的时候,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法就优化了这个问题。
Objects判断对象是否为null
- public static <T> T requireNonNull(T obj) :查看指定引用对象不是null。
- public static <T> T requireNonNull(T obj, String message):查看指定引用对象不是null,参数obj 是要判断的对象,message 是要抛出的异常信息
查看源码发现这里对为null的进行了抛出异常操作:
public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; }
好处:
方法是null-save(空指针安全的)或null-tolerant(容忍空指针的)