Wprowadzenie do klasy ObjectUtils
Metody:
allNotNull(Obiekt...wartości) | Sprawdza, czy wszystkie obiekty nie są puste |
allNull(Obiekt...wartości) | Sprawdza, czy wszystkie obiekty są puste |
anyNotNull(Obiekt...wartości) | Sprawdza, czy co najmniej jeden obiekt nie jest pusty |
anyNull(Obiekt... wartości) | Sprawdza, czy co najmniej jeden obiekt ma wartość NULL |
klon(T obiekt) | Klonuje obiekt |
cloneIfPossible(T obj) | Klonuje obiekt lub zwraca oryginał |
porównaj(T c1, T c2) | Porównuje obiekty |
defaultIfNull(T obiekt, T defaultValue) | Zwraca domyślny obiekt, jeśli obiekt ma wartość null |
równa się (obiekt obiekt1, obiekt obiekt2) | Porównuje dwa obiekty |
notEqual(Obiekt obiekt1, Obiekt obiekt2) | Sprawdź, czy dwa obiekty nie są równe |
firstNonNull(T...wartości) | Zwraca pierwszy obiekt, który nie jest pusty |
getFirstNonNull (dostawca
|
Zwraca pierwszy obiekt, który nie jest pusty |
getIfNull(obiekt T, dostawca
|
Zwraca podany obiekt, jeśli nie jest pusty, w przeciwnym razie zwraca wartość Supplier.get() przekazanego dostawcy |
hashCode(obiekt) | Oblicza hashCode dla obiektu |
hashCodeMulti(Obiekt...obiekty) | Oblicza hashCode dla grupy obiektów |
isEmpty(obiekt obiektu) | Sprawdza, czy obiekt jest pusty lub zerowy |
isNotEmpty(obiekt obiektu) | Sprawdza, czy obiekt nie jest pusty lub zerowy |
requireNonEmpty(T obj) | Sprawdza, czy obiekt nie jest pusty, w przeciwnym razie zgłasza wyjątek |
requireNonEmpty(T obj, ciąg znaków) | Sprawdza, czy obiekt nie jest pusty, w przeciwnym razie zgłasza wyjątek |
tożsamośćToString(obiekt obiektu) | Zwraca ciąg dla obiektu |
toString(obiekt obiektu) | Zwraca ciąg dla obiektu |
toString(Object obiekt, String nullStr) | Zwraca ciąg dla obiektu |
toString(obiekt obiektu, dostawca
|
Zwraca ciąg dla obiektu |
Przyjrzyjmy się jednej metodzie z każdej grupy. Mam nadzieję, że będziesz z nich często korzystać, ponieważ są bardzo wygodne i pozwalają uniknąć niepotrzebnego kodu.
ObjectUtils.compare()
Metoda porównuje obiekty w taki sam sposób jak komparator: większy niż, mniejszy lub równy. Może być używany do sortowania obiektów.
Sygnatura metody wygląda następująco:
public static <T extends Comparable<? super T>> int compare(final T c1, final T c2);
public static <T extends Comparable<? super T>> int compare(final T c1, final T c2, final boolean nullGreater);
Jeśli trzeci parametr ( nullGreater ) ma wartość true , wartość null zawsze będzie uważana za większą niż wartość inna niż null . Metoda zwraca wartość dodatnią, jeśli c1> c2, ujemną, jeśli c1<c2, i 0, jeśli c1 == c2.
Przykład:
String firstValue = "codeGym";
String secondValue = "codeGym";
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();
firstValue = "codeGym";
secondValue = null;
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();
firstValue = "";
secondValue = "codeGym";
System.out.print(ObjectUtils.compare(firstValue, secondValue));
System.out.println();
Program wyświetli wynik:
0
1
-8
ObjectUtils.isNotEmpty()
Metoda isNotEmpty() sprawdza, czy przekazany do niej obiekt nie jest ani pusty, ani null .
Sygnatura metody:
public static boolean isNotEmpty(final Object object)
Przykład:
List<String> values = new ArrayList<>();
System.out.println(ObjectUtils.isNotEmpty(values));
values.add("codeGym");
System.out.println(ObjectUtils.isNotEmpty(values));
values = null;
System.out.println(ObjectUtils.isNotEmpty(values));
Wynik zostanie wyświetlony na ekranie:
false
true
false
java.util.Obiekty
Programistom Javy bardzo spodobał się pomysł ObjectUtils , więc w JDK 7 dodali własny:
isNull(obiektobiektu) | Sprawdza, czy obiekt jest pusty |
nonNull(obiekt obiektu) | Sprawdza, czy obiekt nie jest pusty |
toString(Obiekt) | Konwertuje obiekt na ciąg znaków |
toString(Objecto, String nullDefault) | Konwertuje obiekt na ciąg znaków |
wartość logiczna równa się (obiekt a, obiekt b) | Porównuje obiekty |
boolean deepEquals(Obiekt a,Obiekt b) | Porównuje obiekty |
T requireNonNull(T obj) | Sprawdza, czy przekazany parametr nie jest pusty |
T requireNonNull(T obj,String komunikat) | Sprawdza, czy przekazany parametr nie jest pusty |
int hashCode(Obiekt o) | Oblicza hashCode dla obiektu |
int hash (Obiekt...wartości) | Oblicza hashCode dla grupy obiektów |
int porównaj(T a,T b,Komparator c) | Porównuje obiekty |
Ponieważ klasa java.util.Objects jest częścią pakietu JDK, zaleca się używanie jej w kodzie.
Ważne jest, aby pamiętać, że kiedy czytasz kod innej osoby, najprawdopodobniej natkniesz się na opcje z ObjectUtils , co często zdarza się w open source. Tutaj możesz zobaczyć , czym się różnią.
GO TO FULL VERSION