# Spring 中最常用的四个工具类
- ObjectUtils
- StringUtils
- CollectionUtils
- Assert
以下方法皆为 static
方法,故不再显示 static
关键字。
# 2. ObjectUtils
org.springframework.util.ObjectUtils
有很多处理 null object 的方法。如:
- nullSafeHashCode
- nullSafeEquals
- isArray
- containsElement
- addObjectToArray
# 入参对象,出参 String
nullSafeClassName:获取对象的类名
/**
* 参数为 null 时,返回字符串:"null" 。
*
* 10L -> "java.lang.Long"
* "hello world" -> "java.lang.String"
* " " -> "java.lang.String"
* "" -> "java.lang.String"
* null -> "null"
*/
String nullSafeClassName(Object obj)
getIdentityHexString:获取对象 HashCode(十六进制形式字符串)
/**
* 参数为 null 时,返回 0 。
*
* null -> 0
* "hello" -> 396e2f39
* " " -> 2de8284b
* "" -> 78ac1102
*/
String getIdentityHexString(Object obj)
identityToString:获取对象的类名和 HashCode
/**
* 参数为 null 时,返回字符串:"" 。
*
* null -> ""
* "hello" -> java.lang.String@396e2f39
* " " -> java.lang.String@2de8284b
* "" -> java.lang.String@78ac1102
*/
String identityToString(Object obj)
getDisplayString:null-safe 版 toString
/* 相当于 toString() 方法,但参数为 null 时,返回字符串:""
*
* null -> ""
* "hello" -> "hello"
* " " -> " "
* "" -> ""
*/
String getDisplayString(Object obj)
# 其他工具
用 NullSafe 替代 Object 原生方法
// 相等,或同为 null时,返回 true
boolean nullSafeEquals(Object o1, Object o2)
// 参数为 null 时,返回 0
int nullSafeHashCode(Object object)
// 参数为 null 时,返回字符串:"null"
String nullSafeToString(boolean[] array)