目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

X

Objects工具类

Objects 工具类

  • jdk1.7 引进的 ⼯具类,都是静态调 ⽤的 ⽅法,jdk1.8 新增了部分 ⽅法。

重点方法

  • equals:⽤于字符串和包装对象的 ⽐较,先 ⽐较内存地址,再 ⽐较值
String str1 = "abc";
        String str2 = "abc";
        System.out.println(Objects.equals(str1, str2)); //true
  • deepEquals:数组的 ⽐较,先 ⽐较内存地址,再 ⽐较值,如 String/char/byte/int 数组, 或者包 装类型 Integer 等数组。
String[] arr1 = {"aa", "bb", "cc"};
        String[] arr2 = {"aa", "bb", "cc"};
        System.out.println(Objects.deepEquals(arr1,arr2)); //true
  • hashCode:返回对象的 hashCode,若传 ⼊的为 null,返回 0
System.out.println(Objects.hashCode("abc"));//96354
        System.out.println(Objects.hashCode("abc"));//96354
        System.out.println(Objects.hashCode("acb"));//96384
  • hash:传 ⼊可变参数的所有值的 hashCode 的总和,底层调 ⽤ Arrays.hashCode
System.out.println(Objects.hash("abc",12,32L));//92626389

作者:Soulboy