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 |
Gibt das erste Objekt zurück, das nicht null ist |
getIfNull(T-Objekt, Lieferant |
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 |
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.
GO TO FULL VERSION