Pengenalan kepada kelas ObjectUtils
Kaedah:
allNotNull(Objek...nilai) | Semak bahawa semua objek tidak batal |
allNull(Objek...nilai) | Semak bahawa semua objek adalah batal |
anyNotNull(Objek...nilai) | Semak bahawa sekurang-kurangnya satu objek bukan nol |
anyNull(Objek... nilai) | Semak bahawa sekurang-kurangnya satu objek adalah batal |
klon(T obj) | Mengklon objek |
cloneIfPossible(T obj) | Mengklon objek atau mengembalikan yang asal |
bandingkan(T c1, T c2) | Membandingkan objek |
defaultIfNull(T object, T defaultValue) | Mengembalikan objek lalai jika objek adalah nol |
sama (objek objek1, objek objek2) | Membandingkan dua objek |
notEqual(Objek objek1, Objek objek2) | Semak sama ada dua objek tidak sama |
firstNonNull(T...values) | Mengembalikan objek pertama yang bukan nol |
getFirstNonNull(Pembekal |
Mengembalikan objek pertama yang bukan nol |
getIfNull(T objek, Pembekal |
Mengembalikan objek yang diberikan jika ia bukan nol, sebaliknya mengembalikan nilai Supplier.get() Pembekal yang diluluskan |
hashCode(obj) | Mengira kod cincang untuk objek |
hashCodeMulti(Objek... objek) | Mengira Kod cincang untuk sekumpulan objek |
isEmpty(objek objek) | Semak sama ada objek kosong atau batal |
isNotEmpty(objek objek) | Semak sama ada objek tidak kosong atau batal |
requireNonEmpty(T obj) | Menyemak sama ada objek tidak batal, jika tidak, membuang pengecualian |
requireNonEmpty(T obj, String message) | Menyemak sama ada objek tidak batal, jika tidak, membuang pengecualian |
identityToString(objek objek) | Mengembalikan rentetan untuk objek |
toString(obj objek) | Mengembalikan rentetan untuk objek |
toString(Obj objek, String nullStr) | Mengembalikan rentetan untuk objek |
toString(Obj objek, Pembekal |
Mengembalikan rentetan untuk objek |
Mari kita lihat satu kaedah daripada setiap kumpulan. Saya harap anda akan menggunakannya dengan kerap, kerana ia sangat mudah dan membolehkan anda mengelakkan kod yang tidak perlu.
ObjectUtils.compare()
Kaedah membandingkan objek dengan cara yang sama seperti pembanding: lebih besar daripada, kurang daripada atau sama dengan. Ia boleh digunakan untuk menyusun objek.
Tandatangan kaedah kelihatan 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 ) adalah benar , maka null akan sentiasa dianggap lebih besar daripada bukan null . Kaedah 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 memaparkan hasilnya:
0
1
-8
ObjectUtils.isNotEmpty()
Kaedah isNotEmpty() menyemak bahawa objek yang dihantar kepadanya bukan kosong mahupun null .
Tandatangan kaedah:
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 dipaparkan pada skrin:
false
true
false
java.util.Objects
Pembangun Java sangat menyukai idea ObjectUtils , jadi dalam JDK 7 mereka menambah idea mereka sendiri:
isNull(Objectobj) | Menyemak sama ada objek adalah batal |
bukanNull(obj objek) | Menyemak sama ada objek bukan nol |
toString(Objecto) | Menukar objek kepada rentetan |
toString(Objecto, String nullDefault) | Menukar objek kepada rentetan |
boolean sama (Objek a, Objek b) | Membandingkan objek |
boolean deepEquals(Objek a, Objek b) | Membandingkan objek |
T memerlukanNonNull(T obj) | Semak sama ada parameter yang diluluskan bukan nol |
T requireNonNull(T obj,String message) | Semak sama ada parameter yang diluluskan bukan nol |
int hashCode(Objek o) | Mengira kod cincang untuk objek |
int hash(Objek...nilai) | Mengira Kod cincang untuk sekumpulan objek |
int compare(T a,T b,Comparator c) | Membandingkan objek |
Memandangkan kelas java.util.Objects adalah sebahagian daripada JDK, adalah disyorkan agar anda menggunakannya dalam kod anda.
Adalah penting untuk ambil perhatian bahawa apabila anda membaca kod orang lain, kemungkinan besar anda akan menemui pilihan daripada ObjectUtils , ini sering berlaku dalam sumber terbuka. Di sini anda boleh melihat bagaimana mereka berbeza.