這個類別有幾個好用的靜態方法:
static boolean deepEquals(Object a, Object b)
可以用來比較兩個陣列物件的相等
String[] a=new String[]{"123","456","789"};
String[] b=new String[]{"123","456","789"};
boolean result=a.equals(b);
System.out.println(result);//false
boolean result2=Objects.deepEquals(a, b);
System.out.println(result2);//true
boolean result3=Objects.deepEquals(null, b);
System.out.println(result3);//false
boolean result4=Objects.deepEquals(null, null);
System.out.println(result4);//true
static boolean equals(Object a, Object b)
實用的 equals 會調用物件的 equals 進行比較,且預防了 null pointer exception
String obj1 = new String();
String obj2 = new String();
System.out.println(Objects.equals(obj1, obj2)); //true
obj1 = null;
System.out.println(Objects.equals(obj1, obj2)); //false
obj2 = null
System.out.println(Objects.equals(obj1, obj2)); //true
static int hash(Object... values)
取得可變引數轉成陣列的 hash 值
static String toString(Object o)
得到物件的 toString() 結果,如果物件為 null 則結果為 "null"
static String toString(Object o, String nullDefault)
得到物件的 toString() 結果,如果物件為 null 則結果為 nullDefault String
static T requireNonNull(T obj)
如果不是null則返回物件本身,如果是null丟出 null pointer exception
static T requireNonNull(T obj, String message)
如果不是null則返回物件本身,如果是null丟出 null pointer exception + message 包含在異常訊息中
static boolean nonNull(Object obj)
如果 obj not null return true, if null return false
使用 java.util.Random 的 ints, longs, doubles 方法:
Random r = new Random();
r.ints(LIMIT)
.sorted()
.forEach(System.out::println);
我有兩個介面有相同的 default 方法(方法簽章完全相同)
則必須要在實作方法中提供此方法的確切實作,不然會編譯錯誤
https://blog.csdn.net/lkforce/article/details/56289349
現代 Java - 輕鬆解決 Java 8 與 9 的難題(O'REILLY)