美文网首页
java Objects类源码解析

java Objects类源码解析

作者: ksfglny | 来源:发表于2019-02-26 16:04 被阅读0次

查看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().主要用于比较两个任意维度的数组是否相等。当然不是数组也能比较。

相关文章

网友评论

      本文标题:java Objects类源码解析

      本文链接:https://www.haomeiwen.com/subject/oeaayqtx.html