Panimula sa klase ng ObjectUtils

Paraan:

allNotNull(Object...values) Sinusuri na ang lahat ng mga bagay ay hindi null
allNull(Object...values) Sinusuri na ang lahat ng mga bagay ay null
anyNotNull(Object...values) Sinusuri na ang hindi bababa sa isang bagay ay hindi null
anyNull(Object... values) Sinusuri na kahit isang bagay ay null
clone(T obj) Kino-clone ang isang bagay
cloneIfPossible(T obj) Kino-clone ang isang bagay o ibinabalik ang orihinal
ihambing(T c1, T c2) Naghahambing ng mga bagay
defaultIfNull(T object, T defaultValue) Ibinabalik ang default na object kung null ang object
katumbas ng(Object object1, Object object2) Naghahambing ng dalawang bagay
notEqual(Object object1, Object object2) Suriin kung ang dalawang bagay ay hindi pantay
firstNonNull(T...values) Ibinabalik ang unang bagay na hindi null
getFirstNonNull(Supplier ... mga supplier) Ibinabalik ang unang bagay na hindi null
getIfNull(T object, Supplier defaultSupplier) Ibinabalik ang ibinigay na bagay kung ito ay hindi null, kung hindi, ibinabalik ang Supplier.get() value ng naipasa na Supplier
hashCode(obj) Kinakalkula ang hashCode para sa isang bagay
hashCodeMulti(Object... objects) Kinakalkula ang hashCode para sa isang pangkat ng mga bagay
isEmpty(Object object) Sinusuri kung walang laman o null ang isang bagay
isNotEmpty(Object object) Sinusuri kung ang isang bagay ay walang laman o null
requireNonEmpty(T obj) Sinusuri kung ang isang bagay ay hindi null, kung hindi man ay nagtatapon ng isang pagbubukod
requireNonEmpty(T obj, String message) Sinusuri kung ang isang bagay ay hindi null, kung hindi man ay nagtatapon ng isang pagbubukod
identityToString(Object object) Nagbabalik ng string para sa isang bagay
toString(Object obj) Nagbabalik ng string para sa isang bagay
toString(Object obj, String nullStr) Nagbabalik ng string para sa isang bagay
toString(Object obj, Supplier supplier) Nagbabalik ng string para sa isang bagay

Tingnan natin ang isang paraan mula sa bawat pangkat. Umaasa ako na gagamitin mo ang mga ito nang madalas, dahil ang mga ito ay napaka-maginhawa at nagbibigay-daan sa iyo upang maiwasan ang hindi kinakailangang code.

ObjectUtils.compare()

Ang pamamaraan ay naghahambing ng mga bagay sa parehong paraan tulad ng comparator: mas malaki kaysa, mas mababa sa o katumbas ng. Maaari itong magamit upang pag-uri-uriin ang mga bagay.

Ang lagda ng pamamaraan ay ganito ang hitsura:

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

Kung ang pangatlong parameter ( nullGreater ) ay totoo , ang null ay palaging ituturing na mas malaki kaysa sa hindi null . Ang pamamaraan ay nagbabalik ng positibo kung c1> c2, negatibo kung c1<c2, at 0 kung c1 == c2.

Halimbawa:

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

Ipapakita ng programa ang resulta:

0
1
-8

ObjectUtils.isNotEmpty()

Sinusuri ng isNotEmpty() na pamamaraan na ang bagay na ipinasa dito ay hindi walang laman o null .

Lagda ng pamamaraan:

public static boolean isNotEmpty(final Object object)

Halimbawa:

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

Ang resulta ay ipapakita sa screen:

false
true
false

java.util.Objects

Talagang nagustuhan ng mga developer ng Java ang ideya ng ObjectUtils , kaya sa JDK 7 idinagdag nila ang kanilang sarili:

isNull(Objectobj) Sinusuri kung null ang isang bagay
nonNull(Object obj) Sinusuri kung ang isang bagay ay hindi null
toString(Objecto) Kino-convert ang isang bagay sa isang string
toString(Objecto, String nullDefault) Kino-convert ang isang bagay sa isang string
katumbas ng boolean(Bagay a,Bagay b) Naghahambing ng mga bagay
boolean deepEquals(Object a,Object b) Naghahambing ng mga bagay
T nangangailanganNonNull(T obj) Sinusuri kung ang naipasa na parameter ay hindi null
T nangangailanganNonNull(T obj, String message) Sinusuri kung ang naipasa na parameter ay hindi null
int hashCode(Object o) Kinakalkula ang hashCode para sa isang bagay
int hash(Object...values) Kinakalkula ang hashCode para sa isang pangkat ng mga bagay
int compare(T a,T b,Comparator c) Naghahambing ng mga bagay

Dahil ang klase ng java.util.Objects ay bahagi ng JDK, inirerekomenda na gamitin mo ito sa iyong code.

Mahalagang tandaan na kapag nagbasa ka ng code ng ibang tao, malamang na makakatagpo ka ng mga opsyon mula sa ObjectUtils , madalas itong nangyayari sa open-source. Dito makikita mo kung paano sila naiiba.