在日常开发中,我们对与对象null判断,大多数都是 obj != null来判断对象非空,然而在Apache Commons Lang这个类库中,包含着这样一个类ObjectUtils,平时我们大概也就忽略了,基本只会使用StringUtils这个类以外,其他好用的类都没有使用过。
1.空安全操作:所有方法都处理了null输入,通常不会抛出异常。 2.工具类方法集合:提供常用的对象操作工具。
allNotNull():判断数组中所有元素均不为 nullallNull():判断数组中所有元素均为 nullanyNotNull():判断数组中存在不为 null 的元素anyNull():判断数组中存在为 null 的元素isEmpty():判断对象为 null 或空isNotEmpty():判断对象不为 null 且非空defaultIfNull():对象为 null 时返回默认值(已废弃)firstNonNull():返回数组中第一个非 null 值getFirstNonNull():依次执行多个 Supplier,返回首个非 null 结果getIfNull(Supplier):对象非空则返回自身,否则返回 Supplier 结果getIfNull(default):对象非空则返回自身,否则返回指定默认值clone():克隆对象cloneIfPossible():可克隆则克隆,不可则返回原对象compare():空安全比较两个可比较对象compareWithNullGreater():空安全比较,可指定 null 是否大于非 nullequals():空安全判断对象相等(已废弃)notEqual():空安全判断对象不相等hashCode():获取哈希码,null 返回 0(已废弃)hashCodeHex():哈希码的十六进制字符串hashCodeMulti():多对象组合哈希码(已废弃)identityHashCodeHex():对象标识哈希码的十六进制字符串toString():空安全转字符串,null 返回空串toStringWithSupplier():null 时使用 Supplier 提供默认字符串toStringWithNullStr():null 时返回指定字符串(已废弃)identityToStringObject():获取对象标识字符串,null 返回 nullidentityToStringAppendable():追加标识字符串到 AppendableidentityToStringStrBuilder():追加到 StrBuilder(已废弃)identityToStringStringBuffer():追加到 StringBufferidentityToStringStringBuilder():追加到 StringBuilderCONSTBoolean/CONSTByte/CONSTChar/CONSTDouble/CONSTFloat/CONSTInt/CONSTLong/CONSTShort/CONSTObject:返回对应类型值,防止编译器内联CONST_BYTE/CONST_SHORT:类型转换并返回,防止内联max():空安全获取多个对象最大值min():空安全获取多个对象最小值median():获取中位数mode():获取出现频率最高的元素isArray():判断对象是否为数组requireNonEmpty():校验对象非 null 且非空requireNonEmptyWithMessage():同上,支持自定义异常信息getClass():泛型方式获取对象 Class