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 |
Returnează primul obiect care nu este nul |
getIfNull(T obiect, 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 |
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ă.