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 ... leverandører) Returnerer det første objekt, der ikke er null
getIfNull(T-objekt, leverandør standardleverandø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 leverandør) 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.