# 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)

# 入参数组,出参 List