方法簡介:
此類包含static實用程式方法,用於操作物件或在操作前檢查某些條件。 這些實用程式包括null或null方法,用於計算物件的雜湊**,返回物件的字串,比較兩個物件,以及檢查索引或子範圍值是否超出範圍。
該類為靜態工具類,不可例項化。建構函式是私有的。
//1、檢查下標是否越界,檢查是否在子範圍從 fromindex (包括)到 fromindex + size (不包括)是範圍界限內 0 (包括)到 length (不包括)。
checkfromtoindex(
int fromindex,
int toindex,
int length)
checkfromindexsize(
int fromindex,
int size,
int length)
//2、檢查下標是否越界
checkindex(
int index,
int length)
//3、如果引數相同則返回0,否則返回 c.compare(a, b) 。
compare(t a, t b, comparator<
?super t> c)
//4、區別
deepequals(object a, object b)\equals(object a, object b)\eauals
(object)
equals:
public
boolean
equals
(object obj)
equals(object a, object b)
:public
static
boolean
equals
(object a, object b)
deepequals
(object a, object b)
public
static
boolean
deepequals
(object a, object b)
//5、判斷是否為空。
isnull(object obj)
/nonnull(object obj)
//6、檢查指定的物件引用是否不是 null 。 拋異常的方式提醒
requirenonnull(t obj)
/requirenonnull(t obj, string message)
/*7、檢查指定的物件引用是否為null ,如果是,則拋出自定義的nullpointerexception 。
與方法requirenonnull(object, string)不同,此方法允許建立要延遲的訊息,直到進行空檢查。
雖然這可以在非空情況下賦予效能優勢,但在決定呼叫此方法時,應注意建立訊息提供者的成本小於僅直接建立字串訊息的成本。*/
requirenonnull(t obj, supplier
messagesupplier)
//8、如果它是非 null ,則返回第乙個引數,否則返回非 null第二個引數。
requirenonnullelse(t obj, t defaultobj)
//9、如果它是非 null ,則返回第乙個引數,否則返回非 null值 supplier.get()
requirenonnullelseget(t obj, supplier<
?extends
t> supplier)
//10、2與1的區別在於如果第乙個引數不是 null ,則返回在第乙個引數上呼叫 tostring的結果,否則返回第二個引數;1則是若為空,則返回「null」
tostring(object o)
tostring(object o, string nulldefault)
Objects中的equals方法
與object中的equals不同的是,objects 中的equals方法是為了防止空指標異常,方法原始碼 public static boolean object a,object b 原始碼理解 就是對兩個物件的位址值進行比較或者如果其中乙個物件不是空指標的話,那麼就可以使用之前object的...
Object類和Objects類的常用方法
任何子類都充object那裡繼承了equals和tostring 1.object常用方法 tostring和equals,r 2.objects常用方法 equals,此方法的作用同object類的equals 方法的作用一樣,只是此方法可以避免 空指標異常 此方法內部也是基於引數物件的equal...
如何使用Objects類簡單重寫equals方法
equals 和hashcode 都是object類中的方法。equals方法用於比較兩個物件是否相同 hashcode方法是根據物件的位址或者字串或者數字計算該物件的雜湊值 object類中的equals方法比較的是兩個物件的引用位址,只有物件的引用位址指向同乙個位址時,才認為這兩個物件相等,否則...