Object类是什么?
在JDK7添加了一个Objects工具类,它提供了一些方法来操作对象,它由一些静态的实用方法组成,这些方法是null-save(空指针安全的)或null-tolerant(容忍空指针的),用于计算对象的hashcode、返回对象的字符串表示形式、比较两个对象。
在比较两个对象的时候,Object的equals方法容易抛出空指针异常,而Objects类中的equals方法就优化了这个问题。
常用方法:
- public static boolean equals(Object a, Object b):判断两个对象是否相等。
查看源码:
public static boolean equals(Object a, Object b) { //考虑对象为空的情况 return (a == b) || (a != null && a.equals(b)); }
案例演示:
package demo01; import java.util.Objects; public class DemoObjects { public static void main(String[] args) { // 创建三个对象,作为测试数据 String s = "abc"; String s1 = null; char[] c = {'a', 'b', 'c'}; String s2 = new String(c); // 判断是否相等 System.out.println(Objects.equals(s, s1)); System.out.println(Objects.equals(s, s2)); System.out.println(Objects.equals(s1, s2)); } }
执行结果:
结论:
Objects类中的equals方法就优化了Object的equals方法容易抛出空指针异常的问题。