Introduzione alla classe ObjectUtils
Metodi:
| allNotNull(Oggetto...valori) | Verifica che tutti gli oggetti non siano nulli |
| allNull(Oggetto...valori) | Verifica che tutti gli oggetti siano nulli |
| anyNotNull(Oggetto...valori) | Verifica che almeno un oggetto non sia nullo |
| anyNull(Oggetto... valori) | Verifica che almeno un oggetto sia nullo |
| clone(T oggetto) | Clona un oggetto |
| cloneIfPossible(T obj) | Clona un oggetto o restituisce l'originale |
| confronta(T c1, T c2) | Confronta gli oggetti |
| defaultIfNull(T oggetto, T defaultValue) | Restituisce l'oggetto predefinito se oggetto è nullo |
| equals(Oggetto oggetto1, Oggetto oggetto2) | Confronta due oggetti |
| notEqual(Oggetto oggetto1, Oggetto oggetto2) | Controlla se due oggetti non sono uguali |
| firstNonNull(T...valori) | Restituisce il primo oggetto che non è nullo |
| getFirstNonNull(Fornitore
|
Restituisce il primo oggetto che non è nullo |
| getIfNull(T oggetto, Fornitore
|
Restituisce l'oggetto specificato se non è nullo, altrimenti restituisce il valore Supplier.get() del fornitore passato |
| codice hash(obj) | Calcola l'hashCode per un oggetto |
| hashCodeMulti(Oggetto... oggetti) | Calcola hashCode per un gruppo di oggetti |
| isEmpty(Oggetto oggetto) | Controlla se un oggetto è vuoto o nullo |
| isNotEmpty(Oggetto oggetto) | Controlla se un oggetto non è vuoto o nullo |
| requireNonEmpty(T obj) | Controlla se un oggetto non è nullo, altrimenti genera un'eccezione |
| requireNonEmpty(T obj, String messaggio) | Controlla se un oggetto non è nullo, altrimenti genera un'eccezione |
| identityToString(Oggetto oggetto) | Restituisce una stringa per un oggetto |
| toString(Oggetto oggetto) | Restituisce una stringa per un oggetto |
| toString(Oggetto obj, Stringa nullStr) | Restituisce una stringa per un oggetto |
| toString(Oggetto obj, Fornitore
|
Restituisce una stringa per un oggetto |
Diamo un'occhiata a un metodo di ciascun gruppo. Spero che li userai spesso, perché sono molto convenienti e ti permettono di evitare codice non necessario.
ObjectUtils.compare()
Il metodo confronta gli oggetti allo stesso modo del comparatore: maggiore di, minore di o uguale a. Può essere utilizzato per ordinare gli oggetti.
La firma del metodo è simile a questa:
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);
Se il terzo parametro ( nullGreater ) è true , null sarà sempre considerato maggiore di non null . Il metodo restituisce positivo se c1> c2, negativo se c1<c2 e 0 se c1 == c2.
Esempio:
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();
Il programma visualizzerà il risultato:
0
1
-8
ObjectUtils.isNotEmpty()
Il metodo isNotEmpty() controlla che l'oggetto passato non sia né vuoto né null .
Firma del metodo:
public static boolean isNotEmpty(final Object object)
Esempio:
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));
Il risultato verrà visualizzato sullo schermo:
false
true
false
java.util.Oggetti
Agli sviluppatori Java è piaciuta molto l'idea di ObjectUtils , quindi in JDK 7 hanno aggiunto il proprio:
| isNull(Objectobj) | Controlla se un oggetto è nullo |
| nonNull(Oggetto oggetto) | Controlla se un oggetto non è nullo |
| toString(Oggetto) | Converte un oggetto in una stringa |
| toString(Objecto, String nullDefault) | Converte un oggetto in una stringa |
| booleano uguale(Oggetto a,Oggetto b) | Confronta gli oggetti |
| booleano deepEquals(Oggetto a,Oggetto b) | Confronta gli oggetti |
| T requireNonNull(T obj) | Controlla se il parametro passato non è nullo |
| T requireNonNull(T obj,String messaggio) | Controlla se il parametro passato non è nullo |
| int hashCode(Oggetto o) | Calcola l'hashCode per un oggetto |
| int hash(Oggetto...valori) | Calcola hashCode per un gruppo di oggetti |
| int compare(T a,T b,Comparatore c) | Confronta gli oggetti |
Poiché la classe java.util.Objects fa parte del JDK, si consiglia di utilizzarla nel codice.
È importante notare che quando leggi il codice di qualcun altro, molto probabilmente ti imbatterai in opzioni da ObjectUtils , questo accade spesso in open-source. Qui puoi vedere come differiscono.
GO TO FULL VERSION