Einführung in die ObjectUtils-Klasse

Methoden:

allNotNull(Objekt...Werte) Überprüft, ob alle Objekte nicht null sind
allNull(Objekt...Werte) Überprüft, ob alle Objekte null sind
anyNotNull(Object...values) Überprüft, ob mindestens ein Objekt nicht null ist
anyNull(Objekt...Werte) Überprüft, ob mindestens ein Objekt null ist
Klon(T obj) Klont ein Objekt
cloneIfPossible(T obj) Klont ein Objekt oder gibt das Original zurück
vergleichen(T c1, T c2) Vergleicht Objekte
defaultIfNull(T-Objekt, T-DefaultValue) Gibt das Standardobjekt zurück, wenn das Objekt null ist
gleicht(Objektobjekt1, Objektobjekt2) Vergleicht zwei Objekte
notEqual(Objekt Objekt1, Objekt Objekt2) Überprüfen Sie, ob zwei Objekte ungleich sind
firstNonNull(T...values) Gibt das erste Objekt zurück, das nicht null ist
getFirstNonNull(Supplier ... Lieferanten) Gibt das erste Objekt zurück, das nicht null ist
getIfNull(T-Objekt, Lieferant defaultSupplier) Gibt das angegebene Objekt zurück, wenn es nicht null ist, andernfalls wird der Supplier.get()-Wert des übergebenen Lieferanten zurückgegeben
hashCode(obj) Berechnet den HashCode für ein Objekt
hashCodeMulti(Object... Objekte) Berechnet HashCode für eine Gruppe von Objekten
isEmpty(Objektobjekt) Prüft, ob ein Objekt leer oder null ist
isNotEmpty(Objektobjekt) Prüft, ob ein Objekt nicht leer oder null ist
requireNonEmpty(T obj) Überprüft, ob ein Objekt nicht null ist, andernfalls wird eine Ausnahme ausgelöst
requireNonEmpty(T obj, String-Nachricht) Überprüft, ob ein Objekt nicht null ist, andernfalls wird eine Ausnahme ausgelöst
IdentityToString(Object-Objekt) Gibt eine Zeichenfolge für ein Objekt zurück
toString(Objekt obj) Gibt eine Zeichenfolge für ein Objekt zurück
toString(Objekt obj, String nullStr) Gibt eine Zeichenfolge für ein Objekt zurück
toString(Objekt obj, Lieferant Anbieter) Gibt eine Zeichenfolge für ein Objekt zurück

Schauen wir uns eine Methode aus jeder Gruppe an. Ich hoffe, Sie werden sie häufig verwenden, da sie sehr praktisch sind und es Ihnen ermöglichen, unnötigen Code zu vermeiden.

ObjectUtils.compare()

Die Methode vergleicht Objekte auf die gleiche Weise wie der Komparator: größer als, kleiner als oder gleich. Es kann zum Sortieren von Objekten verwendet werden.

Die Methodensignatur sieht folgendermaßen aus:

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

Wenn der dritte Parameter ( nullGreater ) true ist , wird null immer als größer als nicht null betrachtet . Die Methode gibt positiv zurück, wenn c1>c2, negativ, wenn c1<c2, und 0, wenn c1 == c2.

Beispiel:

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

Das Programm zeigt das Ergebnis an:

0
1
-8

ObjectUtils.isNotEmpty()

Die Methode isNotEmpty() prüft, ob das an sie übergebene Objekt weder leer noch null ist .

Methodensignatur:

public static boolean isNotEmpty(final Object object)

Beispiel:

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

Das Ergebnis wird auf dem Bildschirm angezeigt:

false
true
false

java.util.Objects

Den Java-Entwicklern gefiel die Idee von ObjectUtils sehr , deshalb haben sie in JDK 7 ihre eigene hinzugefügt:

isNull(Objectobj) Überprüft, ob ein Objekt null ist
nonNull(Objekt obj) Prüft, ob ein Objekt nicht null ist
toString(Objecto) Konvertiert ein Objekt in einen String
toString(Objecto, String nullDefault) Konvertiert ein Objekt in einen String
boolescher Wert gleicht(Objekt a,Objekt b) Vergleicht Objekte
boolean deepEquals(Object a,Object b) Vergleicht Objekte
T requireNonNull(T obj) Prüft, ob der übergebene Parameter nicht null ist
T requireNonNull(T obj,String message) Prüft, ob der übergebene Parameter nicht null ist
int hashCode(Objekt o) Berechnet den HashCode für ein Objekt
int hash(Objekt...Werte) Berechnet HashCode für eine Gruppe von Objekten
int vergleichen(T a,T b,Komparator c) Vergleicht Objekte

Da die Klasse java.util.Objects Teil des JDK ist, wird empfohlen, sie in Ihrem Code zu verwenden.

Es ist wichtig zu beachten, dass Sie beim Lesen des Codes einer anderen Person höchstwahrscheinlich auf Optionen von ObjectUtils stoßen werden , was bei Open Source häufig der Fall ist. Hier können Sie sehen, wie sie sich unterscheiden.