1.基本概念
Objects类是JDK1.7提供的一个工具类,里面提供了11个实体对象一些基础操作的静态方法
特点:
- Objects类使用了 final 关键字修饰,不能对它进行继承重写方法操作
- 每个方法都是 static 的
- 不能创建实体对象,构造函数进行了报错处理
private Objects() {
throw new AssertionError("No java.util.Objects instances for you!");
}
2.提供的工具方法
equals / deepEquals
比较两个Object对象是否相等,如果两个对象都是null的话,返回true,当Object a不为null的时候,调用object.equals方法进行判断(避免产生NullPointerException)
/**
* 正常比较
*/
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
/**
* 深比较,对每个字符都进行对比
*/
public static boolean deepEquals(Object a, Object b) {
if (a == b)
return true;
else if (a == null || b == null)
return false