Pengantar kelas ObjectUtils

Metode:

allNotNull(Objek...nilai) Memeriksa bahwa semua objek bukan nol
allNull(Objek...nilai) Memeriksa bahwa semua objek adalah nol
anyNotNull(Objek...nilai) Memeriksa bahwa setidaknya satu objek bukan nol
anyNull(Objek... nilai) Memeriksa bahwa setidaknya satu objek adalah nol
klon(T obj) Mengklon objek
cloneIfPossible(T obj) Mengkloning objek atau mengembalikan yang asli
bandingkan(T c1, T c2) Membandingkan objek
defaultIfNull(T objek, T defaultValue) Mengembalikan objek default jika objek adalah null
sama dengan(Objek objek1, Objek objek2) Membandingkan dua objek
notEqual(Objek objek1, Objek objek2) Periksa apakah dua objek tidak sama
firstNonNull(T...nilai) Mengembalikan objek pertama yang bukan nol
getFirstNonNull(Supplier ... pemasok) Mengembalikan objek pertama yang bukan nol
getIfNull(T objek, Pemasok pemasok default) Mengembalikan objek yang diberikan jika bukan null, jika tidak mengembalikan nilai Supplier.get() dari Supplier yang diteruskan
kode hash(obj) Menghitung kode hash untuk suatu objek
hashCodeMulti(Objek... objek) Menghitung kode hash untuk sekelompok objek
isEmpty(Objek objek) Memeriksa apakah suatu objek kosong atau nol
isNotEmpty(Objek objek) Memeriksa apakah suatu objek tidak kosong atau nol
membutuhkanNonKosong(T obj) Memeriksa apakah suatu objek bukan null, jika tidak, akan muncul pengecualian
requireNonEmpty(T obj, Pesan string) Memeriksa apakah suatu objek bukan null, jika tidak, akan muncul pengecualian
identitasToString(Objek objek) Mengembalikan string untuk objek
toString(Objek objek) Mengembalikan string untuk objek
toString(Objek objek, String nullStr) Mengembalikan string untuk objek
toString(Objek objek, Pemasok pemasok) Mengembalikan string untuk objek

Mari kita lihat satu metode dari setiap kelompok. Saya harap Anda akan sering menggunakannya, karena sangat nyaman dan memungkinkan Anda menghindari kode yang tidak perlu.

ObjectUtils.bandingkan()

Metode ini membandingkan objek dengan cara yang sama seperti pembanding: lebih besar dari, lebih kecil dari atau sama dengan. Ini dapat digunakan untuk mengurutkan objek.

Tanda tangan metode terlihat seperti ini:

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

Jika parameter ketiga ( nullGreater ) bernilai true , maka null akan selalu dianggap lebih besar daripada bukan null . Metode mengembalikan positif jika c1> c2, negatif jika c1<c2, dan 0 jika c1 == c2.

Contoh:

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

Program akan menampilkan hasil:

0
1
-8

ObjectUtils.isNotEmpty()

Metode isNotEmpty() memeriksa bahwa objek yang diteruskan tidak kosong atau null .

Tanda tangan metode:

public static boolean isNotEmpty(final Object object)

Contoh:

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

Hasilnya akan ditampilkan di layar:

false
true
false

java.util.Objek

Pengembang Java sangat menyukai ide ObjectUtils , jadi di JDK 7 mereka menambahkan sendiri:

isNull(Objectobj) Memeriksa apakah suatu objek adalah nol
nonNull(Objek objek) Memeriksa apakah suatu objek bukan nol
toString(Objek) Mengubah objek menjadi string
toString(Objek, String nullDefault) Mengubah objek menjadi string
boolean sama dengan (Objek a, Objek b) Membandingkan objek
boolean deepEquals(Objek a,Objek b) Membandingkan objek
T membutuhkanNonNull(T obj) Memeriksa apakah parameter yang diteruskan bukan nol
T memerlukanNonNull(T obj, Pesan string) Memeriksa apakah parameter yang diteruskan bukan nol
int kode hash(Objek o) Menghitung kode hash untuk suatu objek
int hash(Objek...nilai) Menghitung kode hash untuk sekelompok objek
int bandingkan(T a,T b,Pembanding c) Membandingkan objek

Karena kelas java.util.Objects adalah bagian dari JDK, Anda disarankan untuk menggunakannya dalam kode Anda.

Penting untuk diperhatikan bahwa saat Anda membaca kode orang lain, kemungkinan besar Anda akan menemukan opsi dari ObjectUtils , ini sering terjadi di sumber terbuka. Di sini Anda dapat melihat perbedaannya.