Introduksjon til ObjectUtils-klassen
Metoder:
allNotNull(Objekt...verdier) | Sjekker at alle objekter ikke er null |
allNull(Objekt...verdier) | Sjekker at alle objekter er null |
anyNotNull(Objekt...verdier) | Sjekker at minst ett objekt ikke er null |
anyNull(Objekt... verdier) | Sjekker at minst ett objekt er null |
klone (T obj) | Kloner et objekt |
cloneIfPossible(T obj) | Kloner et objekt eller returnerer originalen |
sammenlign (T c1, T c2) | Sammenligner objekter |
defaultIfNull(T-objekt, T defaultValue) | Returnerer standardobjektet hvis objektet er null |
lik(Objekt objekt1, Objekt objekt2) | Sammenligner to objekter |
notEqual(Objekt objekt1, Objekt objekt2) | Sjekk om to objekter ikke er like |
firstNonNull(T...verdier) | Returnerer det første objektet som ikke er null |
getFirstNonNull(leverandør |
Returnerer det første objektet som ikke er null |
getIfNull(T-objekt, leverandør |
Returnerer det gitte objektet hvis det ikke er null, ellers returnerer Supplier.get() verdien til den beståtte leverandøren |
hashkode(obj) | Beregner hashCode for et objekt |
hashCodeMulti(Objekt... objekter) | Beregner hashCode for en gruppe objekter |
isEmpty(Objektobjekt) | Sjekker om et objekt er tomt eller null |
isNotEmpty(Objektobjekt) | Sjekker om et objekt ikke er tomt eller null |
requireNonEmpty(T obj) | Sjekker om et objekt ikke er null, ellers gir det et unntak |
requireNonEmpty(T obj, strengmelding) | Sjekker om et objekt ikke er null, ellers gir det et unntak |
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(Objekt obj, leverandør |
Returnerer en streng for et objekt |
La oss se på én metode fra hver gruppe. Jeg håper du vil bruke dem ofte, fordi de er veldig praktiske og lar deg unngå unødvendig kode.
ObjectUtils.compare()
Metoden sammenligner objekter på samme måte som komparator: større enn, mindre enn eller lik. Den kan brukes til å sortere objekter.
Metodesignaturen ser slik ut:
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 parameteren ( nullGreater ) er sann , vil null alltid anses som større enn 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 vil vise resultatet:
0
1
-8
ObjectUtils.isNotEmpty()
Metoden isNotEmpty() kontrollerer at objektet som sendes til det verken 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 vises på skjermen:
false
true
false
java.util.Objects
Java-utviklerne likte ideen med ObjectUtils , så i JDK 7 la de til sine egne:
isNull(Objectobj) | Sjekker om et objekt er null |
nonNull(Object obj) | Sjekker om et objekt ikke er null |
toString(Objecto) | Konverterer et objekt til en streng |
toString(Objecto, String nullDefault) | Konverterer et objekt til en streng |
boolsk lik (Objekt a, Objekt b) | Sammenligner objekter |
boolean deepEquals(Objekt a,Objekt b) | Sammenligner objekter |
T requireNonNull(T obj) | Sjekker om den beståtte parameteren ikke er null |
T requireNonNull(T obj,String message) | Sjekker om den beståtte parameteren ikke er null |
int hashCode(Objekt o) | Beregner hashCode for et objekt |
int hash(Objekt...verdier) | Beregner hashCode for en gruppe objekter |
int compare(T a,T b,Comparator c) | Sammenligner objekter |
Siden java.util.Objects- klassen er en del av JDK, anbefales det at du bruker den i koden.
Det er viktig å merke seg at når du leser andres kode, vil du mest sannsynlig komme over alternativer fra ObjectUtils , dette skjer ofte i åpen kildekode. Her kan du se hvordan de skiller seg.
GO TO FULL VERSION