Giới thiệu về lớp ObjectUtils
phương pháp:
allNotNull(Đối tượng...giá trị) | Kiểm tra xem tất cả các đối tượng không phải là null |
allNull(Đối tượng...giá trị) | Kiểm tra xem tất cả các đối tượng là null |
anyNotNull(Đối tượng...giá trị) | Kiểm tra xem ít nhất một đối tượng không phải là null |
anyNull(Đối tượng... giá trị) | Kiểm tra ít nhất một đối tượng là null |
bản sao (T obj) | Nhân bản một đối tượng |
cloneIfPossible(T obj) | Nhân bản một đối tượng hoặc trả về bản gốc |
so sánh(T c1, T c2) | So sánh các đối tượng |
defaultIfNull(T đối tượng, T defaultValue) | Trả về đối tượng mặc định nếu đối tượng là null |
bằng (Đối tượng đối tượng1, Đối tượng đối tượng2) | So sánh hai đối tượng |
notEqual(Đối tượng đối tượng1, Đối tượng đối tượng2) | Kiểm tra xem hai đối tượng không bằng nhau |
firstNonNull(T...giá trị) | Trả về đối tượng đầu tiên không phải là null |
getFirstNonNull(Nhà cung cấp
|
Trả về đối tượng đầu tiên không phải là null |
getIfNull(T đối tượng, Nhà cung cấp
|
Trả về đối tượng đã cho nếu nó không phải là null, ngược lại trả về giá trị Nhà cung cấp.get() của Nhà cung cấp đã truyền |
mã băm (obj) | Tính toán mã băm cho một đối tượng |
hashCodeMulti(Đối tượng... đối tượng) | Tính toán mã băm cho một nhóm đối tượng |
isEmpty(Đối tượng đối tượng) | Kiểm tra xem một đối tượng trống hay rỗng |
isNotEmpty(Đối tượng đối tượng) | Kiểm tra xem một đối tượng không trống hoặc rỗng |
requireNonEmpty(T obj) | Kiểm tra xem một đối tượng có phải là null hay không, nếu không thì ném ra một ngoại lệ |
requireNonEmpty(T obj, Thông báo chuỗi) | Kiểm tra xem một đối tượng có phải là null hay không, nếu không thì ném ra một ngoại lệ |
idToString(Đối tượng đối tượng) | Trả về một chuỗi cho một đối tượng |
toString(Đối tượng đối tượng) | Trả về một chuỗi cho một đối tượng |
toString(Đối tượng obj, Chuỗi nullStr) | Trả về một chuỗi cho một đối tượng |
toString(Đối tượng đối tượng, Nhà cung cấp
|
Trả về một chuỗi cho một đối tượng |
Hãy xem xét một phương pháp từ mỗi nhóm. Tôi hy vọng bạn sẽ sử dụng chúng thường xuyên, bởi vì chúng rất tiện lợi và cho phép bạn tránh phải viết mã không cần thiết.
ObjectUtils.so sánh ()
Phương thức này so sánh các đối tượng giống như phương thức so sánh: lớn hơn, nhỏ hơn hoặc bằng. Nó có thể được sử dụng để sắp xếp các đối tượng.
Chữ ký phương thức trông như thế này:
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);
Nếu tham số thứ ba ( nullGreater ) là true , thì null sẽ luôn được coi là lớn hơn non- null . Phương thức trả về giá trị dương nếu c1> c2, giá trị âm nếu c1<c2 và 0 nếu c1 == c2.
Ví dụ:
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();
Chương trình sẽ hiển thị kết quả:
0
1
-8
ObjectUtils.isNotEmpty()
Phương thức isNotEmpty() kiểm tra xem đối tượng được truyền cho nó có rỗng hay không .
Chữ ký phương thức:
public static boolean isNotEmpty(final Object object)
Ví dụ:
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));
Kết quả sẽ được hiển thị trên màn hình:
false
true
false
java.util.Objects
Các nhà phát triển Java thực sự thích ý tưởng về ObjectUtils , vì vậy trong JDK 7, họ đã thêm ý tưởng của riêng mình:
isNull(Objectobj) | Kiểm tra nếu một đối tượng là null |
nonNull(Đối tượng đối tượng) | Kiểm tra nếu một đối tượng không phải là null |
toString(Objecto) | Chuyển đổi một đối tượng thành một chuỗi |
toString(Objecto, String nullDefault) | Chuyển đổi một đối tượng thành một chuỗi |
boolean bằng (Đối tượng a, Đối tượng b) | So sánh các đối tượng |
boolean deepEquals(Đối tượng a,Đối tượng b) | So sánh các đối tượng |
T yêu cầuNonNull(T obj) | Kiểm tra xem tham số đã truyền có phải là null không |
T requireNonNull(T obj,Thông điệp chuỗi) | Kiểm tra xem tham số đã truyền có phải là null không |
int hashCode(Object o) | Tính toán mã băm cho một đối tượng |
int hash(Đối tượng...giá trị) | Tính toán mã băm cho một nhóm đối tượng |
so sánh int(T a,T b,So sánh c) | So sánh các đối tượng |
Vì lớp java.util.Objects là một phần của JDK nên bạn nên sử dụng nó trong mã của mình.
Điều quan trọng cần lưu ý là khi bạn đọc mã của người khác, rất có thể bạn sẽ bắt gặp các tùy chọn từ ObjectUtils , điều này thường xảy ra trong mã nguồn mở. Ở đây bạn có thể thấy chúng khác nhau như thế nào.
GO TO FULL VERSION