java Objects类源码解析

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 心 《心》讲述的是“先生”结识并爱上了房东家的小姐,同时也赢得了房东太太的好感,但却因年少时曾受到叔父的欺诈...
    日语之声阅读 344评论 0 2
  • 123图书馆(来源:123图书馆123tsg.com) 123行动,是利用123图书馆网络创新平台,以“拒绝图书上...
    Euphoria11阅读 1,015评论 0 0
  • 给那些正要给孩子打疫苗的妈妈们 一、所有的孩子必须接种疫苗,这是世界范围内的权威共识,不能因为中国的疫苗问题而否定...
    我是KAKA阅读 266评论 1 1
  • 【白虎涧·春初】 轻寒寂历白虎涧, 明玉如水沿河铺。 莫道林荒无春色, 峰石花开长满途。
    东溪生阅读 254评论 0 1
  • 作为党报的《人民日报》近日刊发了一篇文章,名为《让“朋友圈”清清爽爽》,这里的朋我圈自然不是现实中的社交关系圈,而...
    WildeYoung阅读 285评论 0 1