Introducere în clasa ObjectUtils

Metode:

allNotNull(Obiect...valori) Verifică dacă toate obiectele nu sunt nule
allNull(Obiect...valori) Verifică dacă toate obiectele sunt nule
anyNotNull(Obiect...valori) Verifică dacă cel puțin un obiect nu este nul
anyNull(Obiect... valori) Verifică dacă cel puțin un obiect este nul
clona (T obj) Clonează un obiect
cloneIfPossible(T obj) Clonează un obiect sau returnează originalul
compara (T c1, T c2) Compară obiecte
defaultIfNull(T obiect, T defaultValue) Returnează obiectul implicit dacă obiectul este nul
equals(Object object1, Object object2) Compară două obiecte
notEqual(Object object1, Object object2) Verificați dacă două obiecte nu sunt egale
firstNonNull(T...valori) Returnează primul obiect care nu este nul
getFirstNonNull(Furnizor ... furnizori) Returnează primul obiect care nu este nul
getIfNull(T obiect, Furnizor implicit Furnizor) Returnează obiectul dat dacă nu este nul, în caz contrar returnează valoarea Supplier.get() a Furnizorului transmis
hashCode(obj) Calculează codul hash pentru un obiect
hashCodeMulti(Obiect... obiecte) Calculează hashCode pentru un grup de obiecte
isEmpty(Obiect obiect) Verifică dacă un obiect este gol sau nul
isNotEmpty (obiect obiect) Verifică dacă un obiect nu este gol sau nul
requireNonEmpty(T obj) Verifică dacă un obiect nu este nul, altfel aruncă o excepție
requireNonEmpty(T obj, mesaj șir) Verifică dacă un obiect nu este nul, altfel aruncă o excepție
identityToString(obiect obiect) Returnează un șir pentru un obiect
toString(Obiect obiect) Returnează un șir pentru un obiect
toString(Object object, String nullStr) Returnează un șir pentru un obiect
toString(Obj. obiect, Furnizor furnizor) Returnează un șir pentru un obiect

Să ne uităm la o metodă din fiecare grup. Sper că le veți folosi des, deoarece sunt foarte convenabile și vă permit să evitați codurile inutile.

ObjectUtils.compare()

Metoda compară obiectele în același mod ca și comparatorul: mai mare decât, mai mic sau egal cu. Poate fi folosit pentru a sorta obiecte.

Semnătura metodei arată astfel:

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);

Dacă al treilea parametru ( nullGreater ) este adevărat , atunci null va fi întotdeauna considerat mai mare decât non- null . Metoda returnează pozitiv dacă c1> c2, negativ dacă c1<c2 și 0 dacă c1 == c2.

Exemplu:

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();

Programul va afișa rezultatul:

0
1
-8

ObjectUtils.isNotEmpty()

Metoda isNotEmpty() verifică dacă obiectul transmis nu este nici gol, nici null .

Semnătura metodei:

public static boolean isNotEmpty(final Object object)

Exemplu:

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));

Rezultatul va fi afișat pe ecran:

false
true
false

java.util.Objects

Dezvoltatorilor Java le-a plăcut foarte mult ideea de ObjectUtils , așa că în JDK 7 și-au adăugat propria lor:

isNull(Objectobj) Verifică dacă un obiect este nul
nonNull(Obiect obiect) Verifică dacă un obiect nu este nul
toString(Obiect) Convertește un obiect într-un șir
toString(Obiect, String nullDefault) Convertește un obiect într-un șir
boolean este egal (Obiect a,Obiect b) Compară obiecte
boolean deepEquals(Obiect a,Obiect b) Compară obiecte
T requireNonNull(T obj) Verifică dacă parametrul transmis nu este nul
T requireNonNull(T obj, șir mesaj) Verifică dacă parametrul transmis nu este nul
int hashCode(Obiect o) Calculează codul hash pentru un obiect
int hash(Obiect...valori) Calculează hashCode pentru un grup de obiecte
int compara(T a,T b, Comparator c) Compară obiecte

Deoarece clasa java.util.Objects face parte din JDK, se recomandă să o utilizați în cod.

Este important să rețineți că atunci când citiți codul altcuiva, cel mai probabil veți întâlni opțiuni din ObjectUtils , acest lucru se întâmplă adesea în open-source. Aici puteți vedea cum diferă.