Introduktion til klassen ObjectUtils
Metoder:
allNotNull(Objekt...værdier) | Kontrollerer, at alle objekter ikke er nul |
allNull(Objekt...værdier) | Kontrollerer, at alle objekter er nul |
anyNotNull(Objekt...værdier) | Kontrollerer, at mindst ét objekt ikke er nul |
anyNull(Objekt... værdier) | Kontrollerer, at mindst ét objekt er nul |
klon (T obj) | Kloner et objekt |
cloneIfPossible(T obj) | Kloner et objekt eller returnerer originalen |
sammenligne (T c1, T c2) | Sammenligner objekter |
defaultIfNull(T-objekt, T defaultValue) | Returnerer standardobjektet, hvis objektet er null |
er lig (Objekt objekt1, Objekt objekt2) | Sammenligner to objekter |
notEqual(Objektobjekt1, Objektobjekt2) | Tjek, om to objekter ikke er ens |
firstNonNull(T...værdier) | Returnerer det første objekt, der ikke er null |
getFirstNonNull(leverandør |
Returnerer det første objekt, der ikke er null |
getIfNull(T-objekt, leverandør |
Returnerer det givne objekt, hvis det ikke er null, ellers returnerer værdien Supplier.get() for den beståede leverandør |
hashCode(obj) | Beregner hashCoden for et objekt |
hashCodeMulti(Objekt... objekter) | Beregner hashCode for en gruppe af objekter |
isEmpty(Objektobjekt) | Kontrollerer, om et objekt er tomt eller nul |
isNotEmpty(Objektobjekt) | Kontrollerer, om et objekt ikke er tomt eller nul |
requireNonEmpty(T obj) | Kontrollerer om et objekt ikke er null, ellers kaster en undtagelse |
requireNonEmpty(T obj, String message) | Kontrollerer om et objekt ikke er null, ellers kaster en undtagelse |
identityToString(Objektobjekt) | Returnerer en streng for et objekt |
toString(Object obj) | Returnerer en streng for et objekt |
toString(Object obj, String nullStr) | Returnerer en streng for et objekt |
toString(Object obj, Supplier |
Returnerer en streng for et objekt |
Lad os se på en metode fra hver gruppe. Jeg håber, du vil bruge dem ofte, for de er meget praktiske og giver dig mulighed for at undgå unødvendig kode.
ObjectUtils.compare()
Metoden sammenligner objekter på samme måde som komparator: større end, mindre end eller lig med. Det kan bruges til at sortere objekter.
Metodens signatur ser således ud:
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);
Hvis den tredje parameter ( nullGreater ) er sand , vil null altid blive betragtet som større end ikke - null . Metoden returnerer positiv hvis c1> c2, negativ hvis c1<c2, og 0 hvis c1 == c2.
Eksempel:
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();
Programmet viser resultatet:
0
1
-8
ObjectUtils.isNotEmpty()
Metoden isNotEmpty() kontrollerer, at objektet, der sendes til det, hverken er tomt eller null .
Metode signatur:
public static boolean isNotEmpty(final Object object)
Eksempel:
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));
Resultatet vil blive vist på skærmen:
false
true
false
java.util.Objects
Java-udviklerne kunne virkelig godt lide ideen om ObjectUtils , så i JDK 7 tilføjede de deres egen:
isNull(Objectobj) | Kontrollerer, om et objekt er nul |
nonNull(Object obj) | Kontrollerer, om et objekt ikke er nul |
toString(Objecto) | Konverterer et objekt til en streng |
toString(Objecto, String nullDefault) | Konverterer et objekt til en streng |
boolesk lig (Objekt a, Objekt b) | Sammenligner objekter |
boolean deepEquals(Objekt a,Objekt b) | Sammenligner objekter |
T requireNonNull(T obj) | Kontrollerer, om den beståede parameter ikke er null |
T requireNonNull(T obj,String message) | Kontrollerer, om den beståede parameter ikke er null |
int hashCode(Objekt o) | Beregner hashCoden for et objekt |
int hash(Objekt...værdier) | Beregner hashCode for en gruppe af objekter |
int compare(T a,T b,Comparator c) | Sammenligner objekter |
Da klassen java.util.Objects er en del af JDK, anbefales det at du bruger den i din kode.
Det er vigtigt at bemærke, at når du læser en andens kode, vil du højst sandsynligt støde på muligheder fra ObjectUtils , dette sker ofte i open source. Her kan du se, hvordan de adskiller sig.
GO TO FULL VERSION