Objects
Tomáš Pitner, Radek Ošlejšek
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
)
static <T> int compare(T a, T b, Comparator<? super T> c)
Vrací 0
, pokud jsou argumenty shodné, a c.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, a false
v opačném případě.
static boolean equals(Object a, Object b)
Vrací true
, pokud se argumenty navzájem rovnají, a false
v opačném případě.
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
.
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ý, a null
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.