CodeGym /Java Course /Module 3 /ObjectUtils-klasse van Apache Commons

ObjectUtils-klasse van Apache Commons

Module 3
Niveau 20 , Les 3
Beschikbaar

Inleiding tot de klasse ObjectUtils

methoden:

allNotNull(Object...waarden) Controleert of alle objecten niet null zijn
allNull(Object...waarden) Controleert of alle objecten null zijn
anyNotNull(Object...waarden) Controleert of ten minste één object niet null is
anyNull(Object... waarden) Controleert of ten minste één object null is
kloon (T obj) Kloont een object
cloneIfPossible(T obj) Kloont een object of retourneert het origineel
vergelijken(T c1, T c2) Vergelijkt objecten
defaultIfNull(T-object, T defaultValue) Retourneert het standaardobject als het object null is
is gelijk aan (Object-object1, Object-object2) Vergelijkt twee objecten
notEqual(Object-object1, Object-object2) Controleer of twee objecten niet gelijk zijn
firstNonNull(T...waarden) Retourneert het eerste object dat niet null is
getFirstNonNull(Leverancier ... leveranciers) Retourneert het eerste object dat niet null is
getIfNull(T-object, leverancier standaardLeverancier) Retourneert het gegeven object als het niet null is, retourneert anders de waarde Supplier.get() van de doorgegeven leverancier
hashcode(obj) Berekent de hashCode voor een object
hashCodeMulti(Object... objecten) Berekent hashCode voor een groep objecten
isEmpty(Object-object) Controleert of een object leeg of null is
isNietLeeg(Object-object) Controleert of een object niet leeg of null is
vereisenNonEmpty(T obj) Controleert of een object niet null is, genereert anders een uitzondering
vereisenNonEmpty(T obj, String bericht) Controleert of een object niet null is, genereert anders een uitzondering
identityToString(Object-object) Retourneert een tekenreeks voor een object
toString(Object-object) Retourneert een tekenreeks voor een object
toString(Objectobject, String nullStr) Retourneert een tekenreeks voor een object
toString(Objectobject, Leverancier leverancier) Retourneert een tekenreeks voor een object

Laten we eens kijken naar één methode uit elke groep. Ik hoop dat je ze vaak zult gebruiken, want ze zijn erg handig en stellen je in staat onnodige code te vermijden.

ObjectUtils.compare()

De methode vergelijkt objecten op dezelfde manier als comparator: groter dan, kleiner dan of gelijk aan. Het kan worden gebruikt om objecten te sorteren.

De handtekening van de methode ziet er als volgt uit:

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

Als de derde parameter ( nullGreater ) waar is , wordt null altijd beschouwd als groter dan niet- null . De methode retourneert positief als c1> c2, negatief als c1<c2 en 0 als c1 == c2.

Voorbeeld:

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

Het programma zal het resultaat weergeven:

0
1
-8

ObjectUtils.isNotEmpty()

De methode isNotEmpty() controleert of het object dat eraan wordt doorgegeven niet leeg of null is .

Methode handtekening:

public static boolean isNotEmpty(final Object object)

Voorbeeld:

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

Het resultaat wordt weergegeven op het scherm:

false
true
false

java.util.Objecten

De Java-ontwikkelaars hielden echt van het idee van ObjectUtils , dus in JDK 7 voegden ze hun eigen toe:

isNull(Objectobj) Controleert of een object null is
nonNull(Object-object) Controleert of een object niet null is
toString(Objecto) Converteert een object naar een tekenreeks
toString(Objecto, String nullDefault) Converteert een object naar een tekenreeks
boolean is gelijk aan (object a, object b) Vergelijkt objecten
boolean deepEquals(Object a,Object b) Vergelijkt objecten
T vereistNonNull(T obj) Controleert of de doorgegeven parameter niet null is
T vereistNonNull(T obj,String bericht) Controleert of de doorgegeven parameter niet null is
int hashCode(Object o) Berekent de hashCode voor een object
int hash(Object...waarden) Berekent hashCode voor een groep objecten
int vergelijk(T a,T b,Comparator c) Vergelijkt objecten

Aangezien de klasse java.util.Objects deel uitmaakt van de JDK, wordt aanbevolen deze in uw code te gebruiken.

Het is belangrijk op te merken dat wanneer u de code van iemand anders leest, u hoogstwaarschijnlijk opties van ObjectUtils zult tegenkomen , dit gebeurt vaak in open-source. Hier zie je hoe ze verschillen.

Opmerkingen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION