ObjectUtils类介绍
方法:
allNotNull(对象...值) | 检查所有对象是否不为空 |
allNull(对象...值) | 检查所有对象是否为空 |
anyNotNull(对象...值) | 检查至少一个对象不为空 |
anyNull(对象...值) | 检查至少一个对象为空 |
克隆(T对象) | 克隆一个对象 |
cloneIfPossible(T obj) | 克隆对象或返回原始对象 |
比较(T c1,T c2) | 比较对象 |
defaultIfNull(T object, T defaultValue) | 如果对象为空,则返回默认对象 |
等于(对象对象 1,对象对象 2) | 比较两个对象 |
不相等(对象对象 1,对象对象 2) | 检查两个对象是否不相等 |
firstNonNull(T...值) | 返回第一个不为空的对象 |
getFirstNonNull(供应商 |
返回第一个不为空的对象 |
getIfNull(T 对象,供应商 |
如果不为 null 则返回给定对象,否则返回传递的 Supplier 的 Supplier.get() 值 |
哈希码(对象) | 计算对象的哈希码 |
hashCodeMulti(对象...对象) | 计算一组对象的 hashCode |
isEmpty(对象对象) | 检查对象是否为空或 null |
isNotEmpty(对象对象) | 检查对象是否不为空或 null |
requireNonEmpty(T obj) | 检查对象是否不为空,否则抛出异常 |
requireNonEmpty(T obj,字符串消息) | 检查对象是否不为空,否则抛出异常 |
identityToString(对象对象) | 返回对象的字符串 |
toString(对象对象) | 返回对象的字符串 |
toString(Object obj, String nullStr) | 返回对象的字符串 |
toString(对象对象,供应商 |
返回对象的字符串 |
让我们看看每组中的一种方法。我希望您经常使用它们,因为它们非常方便并且可以让您避免不必要的代码。
ObjectUtils.compare()
该方法以与比较器相同的方式比较对象:大于、小于或等于。它可用于对对象进行排序。
方法签名如下所示:
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);
如果第三个参数 ( nullGreater ) 为true,则null将始终被视为大于非null。如果 c1> c2,该方法返回正数,如果 c1<c2,则返回负数,如果 c1 == c2,则返回 0。
例子:
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();
该程序将显示结果:
0
1
-8
ObjectUtils.isNotEmpty()
isNotEmpty()方法检查传递给它的对象既不是空的也不是null。
方法签名:
public static boolean isNotEmpty(final Object object)
例子:
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));
结果将显示在屏幕上:
false
true
false
java.util.Objects
Java 开发人员非常喜欢ObjectUtils的想法,因此在 JDK 7 中他们添加了自己的:
isNull(Objectobj) | 检查对象是否为空 |
非空(对象对象) | 检查对象是否不为空 |
toString(对象) | 将对象转换为字符串 |
toString(对象,字符串 nullDefault) | 将对象转换为字符串 |
布尔等于(对象 a,对象 b) | 比较对象 |
布尔 deepEquals(对象 a,对象 b) | 比较对象 |
T requireNonNull(T obj) | 检查传递的参数是否不为空 |
T requireNonNull(T obj,String message) | 检查传递的参数是否不为空 |
int hashCode(对象o) | 计算对象的哈希码 |
int hash(对象...值) | 计算一组对象的 hashCode |
int 比较(T a,T b,比较器 c) | 比较对象 |
由于java.util.Objects类是 JDK 的一部分,因此建议您在代码中使用它。
重要的是要注意,当您阅读别人的代码时,您很可能会遇到ObjectUtils 的选项,这通常发生在开源中。在这里您可以看到它们有何不同。
GO TO FULL VERSION