Pomocná třída Objects
-
Třída dostupná od Javy 8
-
Nabízí praktické statické metody obecně využitelné pro všechny objekty:
-
kalkulace hash-kódů (
hash
,hashCode
), -
test/vynucení nenulovosti (
requireNonNull
), -
hluboké porovnání (
deepEquals
)
-
Porovnání objektů
static <T> int compare(T a, T b, Comparator<? super T> c)
-
Vrací
0
, pokud jsou argumenty shodné, ac.compare(a, b)
v opačném případě. static boolean deepEquals(Object a, Object b)
-
Vrací hodnotu
true
, pokud jsou si argumenty hluboce rovny, afalse
v opačném případě. static boolean equals(Object a, Object b)
-
Vrací
true
, pokud se argumenty navzájem rovnají, afalse
v opačném případě.
Vynucení nenulovosti
static <T> T requireNonNull(T obj)
-
Zkontroluje, zda zadaný odkaz na objekt není
null
. static <T> T requireNonNull(T obj, String message)
-
Zkontroluje, zda zadaný odkaz na objekt není
null
, a pokud ano, vyhodí vlastníNullPointerException
. static <T> T requireNonNull(T obj, Supplier<String> messageSupplier)
-
Zkontroluje, zda zadaný odkaz na objekt není
null
, a pokud ano, vyhodí vlastníNullPointerException
.
Metody toString
-
zbavuje nás nutnosti testu na nulovost odkazu
-
kratší náhrada
o == null ? "null" : o.toString()
static String toString(Object o)
-
Vrací výsledek volání
toString
pro argument, který není nulový, anull
pro nulový argument. static String toString(Object o, String nullDefault)
-
Vrací výsledek volání
toString
na první argument, pokud první argument nenínull
, a v opačném případě vrací druhý argument.