Présentation de la classe ObjectUtils

Méthodes :

allNotNull(Objet...valeurs) Vérifie que tous les objets ne sont pas nuls
toutNull(Objet...valeurs) Vérifie que tous les objets sont nuls
anyNotNull(Objet...valeurs) Vérifie qu'au moins un objet n'est pas nul
anyNull(Objet... valeurs) Vérifie qu'au moins un objet est nul
cloner(T obj) Clone un objet
cloneIfPossible(T obj) Clone un objet ou renvoie l'original
comparer(T c1, T c2) Compare des objets
defaultIfNull(T objet, T defaultValue) Renvoie l'objet par défaut si l'objet est nul
égal(Objet objet1, Objet objet2) Compare deux objets
notEqual(Objet objet1, Objet objet2) Vérifier si deux objets ne sont pas égaux
premierNonNull(T...valeurs) Renvoie le premier objet qui n'est pas nul
getFirstNonNull(Fournisseur ... Fournisseurs) Renvoie le premier objet qui n'est pas nul
getIfNull(T objet, Fournisseur fournisseur par défaut) Renvoie l'objet donné s'il n'est pas nul, sinon renvoie la valeur Supplier.get() du fournisseur passé
code de hachage (obj) Calcule le hashCode d'un objet
hashCodeMulti(Objet... objets) Calcule hashCode pour un groupe d'objets
isEmpty (objet objet) Vérifie si un objet est vide ou nul
n'est pas vide (objet objet) Vérifie si un objet n'est pas vide ou nul
requireNonEmpty(T obj) Vérifie si un objet n'est pas nul, sinon lève une exception
requireNonEmpty(T obj, String message) Vérifie si un objet n'est pas nul, sinon lève une exception
identitéVersChaîne (objet objet) Renvoie une chaîne pour un objet
toString(Object obj) Renvoie une chaîne pour un objet
toString(Object obj, String nullString) Renvoie une chaîne pour un objet
toString(Objet obj, Fournisseur fournisseur) Renvoie une chaîne pour un objet

Examinons une méthode de chaque groupe. J'espère que vous les utiliserez souvent, car ils sont très pratiques et vous permettent d'éviter le code inutile.

ObjectUtils.compare()

La méthode compare les objets de la même manière que le comparateur : supérieur à, inférieur ou égal à. Il peut être utilisé pour trier des objets.

La signature de la méthode ressemble à ceci :

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

Si le troisième paramètre ( nullGreater ) est true , alors null sera toujours considéré comme supérieur à non null . La méthode renvoie positif si c1> c2, négatif si c1<c2 et 0 si c1 == c2.

Exemple:

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

Le programme affichera le résultat :

0
1
-8

ObjectUtils.isNotEmpty()

La méthode isNotEmpty() vérifie que l'objet qui lui est passé n'est ni vide ni null .

Signature de la méthode :

public static boolean isNotEmpty(final Object object)

Exemple:

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

Le résultat s'affichera à l'écran :

false
true
false

java.util.Objects

Les développeurs Java ont vraiment aimé l'idée d' ObjectUtils , donc dans JDK 7 ils ont ajouté le leur :

estNull(Objectobj) Vérifie si un objet est nul
nonNull(Object obj) Vérifie si un objet n'est pas nul
toString(Objecto) Convertit un objet en chaîne
toString(Objecto, String nullDefault) Convertit un objet en chaîne
booléen égal(Objet a,Objet b) Compare des objets
booléen deepEquals(Objet a,Objet b) Compare des objets
T requiertNonNull(T obj) Vérifie si le paramètre passé n'est pas nul
T requireNonNull(T obj,String message) Vérifie si le paramètre passé n'est pas nul
int hashCode(Objet o) Calcule le hashCode d'un objet
int hash(Objet...valeurs) Calcule hashCode pour un groupe d'objets
int compare(T a,T b,Comparateur c) Compare des objets

Comme la classe java.util.Objects fait partie du JDK, il est recommandé de l'utiliser dans votre code.

Il est important de noter que lorsque vous lisez le code de quelqu'un d'autre, vous rencontrerez très probablement des options de ObjectUtils , cela se produit souvent en open source. Ici vous pouvez voir comment ils diffèrent.