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