查看Objects类开头的声明可知:
a.此类自jdk1.7加入
b.此类提供了一些通用的静态工具方法。如hashcode,toString,equals。
具体方法列表如下:
方法列表
其中有几个有意思的方法:
1.构造方法
private Objects() {
throw new AssertionError("No java.util.Objects instances for you!");
}
该方法有两个特点:
1.私有
2.方法体只是抛了个异常
这样做既不可以在外部创建对象,也不可以在类的内部创建对象。
该类的作用是工具类,除构造方法外所有方法都是静态方法。因此没必要在外部创建对象,因此该方法应该私有。而抛异常的做法更像是一个提醒或者小玩笑。因为在该类的其他地方也没有调用该构造方法。方法体可以为空的。
2.deepEquals
public static boolean deepEquals(Object a, Object b) {
if (a == b)
return true;
else if (a ==null || b ==null)
return false;
else
return Arrays.deepEquals0(a, b);
}
该方法调用了Arrays.deepEquals0().主要用于比较两个任意维度的数组是否相等。当然不是数组也能比较。