Introduktion till klassen ObjectUtils

Metoder:

allNotNull(Objekt...värden) Kontrollerar att alla objekt inte är null
allNull(Objekt...värden) Kontrollerar att alla objekt är null
anyNotNull(Objekt...värden) Kontrollerar att minst ett objekt inte är null
anyNull(Objekt... värden) Kontrollerar att minst ett objekt är null
klon (T obj) Klonar ett objekt
cloneIfPossible(T obj) Klonar ett objekt eller returnerar originalet
jämför (T c1, T c2) Jämför objekt
defaultIfNull(T-objekt, T defaultValue) Returnerar standardobjektet om objektet är null
lika med(Objekt objekt1, Objekt objekt2) Jämför två objekt
notEqual(Objekt objekt1, Objekt objekt2) Kontrollera om två objekt inte är lika
firstNonNull(T...värden) Returnerar det första objektet som inte är null
getFirstNonNull(Leverantör ... leverantörer) Returnerar det första objektet som inte är null
getIfNull(T-objekt, leverantör defaultSupplier) Returnerar det givna objektet om det inte är null, annars returnerar värdet Supplier.get() för den godkända leverantören
hashCode(obj) Beräknar hashkoden för ett objekt
hashCodeMulti(Objekt... objekt) Beräknar hashCode för en grupp objekt
isEmpty(Objektobjekt) Kontrollerar om ett objekt är tomt eller null
isNotEmpty(Objektobjekt) Kontrollerar om ett objekt inte är tomt eller null
requireNonEmpty(T obj) Kontrollerar om ett objekt inte är null, annars skapar ett undantag
requireNonEmpty(T obj, String message) Kontrollerar om ett objekt inte är null, annars skapar ett undantag
identityToString(Objektobjekt) Returnerar en sträng för ett objekt
toString(Object obj) Returnerar en sträng för ett objekt
toString(Object obj, String nullStr) Returnerar en sträng för ett objekt
toString(Object obj, Supplier leverantör) Returnerar en sträng för ett objekt

Låt oss titta på en metod från varje grupp. Jag hoppas att du kommer att använda dem ofta, eftersom de är väldigt bekväma och låter dig undvika onödig kod.

ObjectUtils.compare()

Metoden jämför objekt på samma sätt som komparator: större än, mindre än eller lika med. Den kan användas för att sortera objekt.

Metodsignaturen ser ut så här:

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

Om den tredje parametern ( nullGreater ) är sant , kommer null alltid att anses vara större än icke - null . Metoden returnerar positivt om c1> c2, negativt om c1<c2 och 0 om c1 == c2.

Exempel:

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 kommer att visa resultatet:

0
1
-8

ObjectUtils.isNotEmpty()

Metoden isNotEmpty() kontrollerar att objektet som skickas till det varken är tomt eller null .

Metodsignatur:

public static boolean isNotEmpty(final Object object)

Exempel:

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 kommer att visas på skärmen:

false
true
false

java.util.Objects

Java-utvecklarna gillade verkligen idén med ObjectUtils , så i JDK 7 lade de till sina egna:

isNull(Objectobj) Kontrollerar om ett objekt är null
nonNull(Object obj) Kontrollerar om ett objekt inte är null
toString(Objecto) Konverterar ett objekt till en sträng
toString(Objecto, String nullDefault) Konverterar ett objekt till en sträng
boolesk lika med(Objekt a, Objekt b) Jämför objekt
boolean deepEquals(Objekt a, Objekt b) Jämför objekt
T requireNonNull(T obj) Kontrollerar om den skickade parametern inte är null
T requireNonNull(T obj,String message) Kontrollerar om den skickade parametern inte är null
int hashCode(Objekt o) Beräknar hashkoden för ett objekt
int hash(Objekt...värden) Beräknar hashCode för en grupp objekt
int compare(T a,T b,Comparator c) Jämför objekt

Eftersom klassen java.util.Objects är en del av JDK, rekommenderas det att du använder den i din kod.

Det är viktigt att notera att när du läser någon annans kod kommer du med största sannolikhet att stöta på alternativ från ObjectUtils , detta händer ofta i öppen källkod. Här kan du se hur de skiljer sig åt.