-
目录
最近发现同事写了不少重复的工具类,发现其中很多功能,Spring 自带的都有。敲黑板
断言
-
断言是一个逻辑判断,用于检查不应该发生的情况
-
Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数
-enableassertions
开启 -
SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查
// 要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行 // 参数 message 参数用于定制异常信息。 void notNull(Object object, String message) // 要求参数必须空(Null),否则抛出异常,不予『放行』。 // 和 notNull() 方法断言规则相反 void isNull(Object object, String message) // 要求参数必须为真(True),否则抛出异常,不予『放行』。 void isTrue(boolean expression, String message) // 要求参数(List/Set)必须非空(Not Empty),否则抛出异常,不予放行 void notEmpty(Collection collection, String message) // 要求参数(String)必须有长度(即,Not Empty),否则抛出异常,不予放行 void hasLength(String text, String message) // 要求参数(String)必须有内容(即,Not Blank),否则抛出异常,不予放行 void hasText(String text, String message) // 要求参数是指定类型的实例,否则抛出异常,不予放行 void isInstanceOf(Class type, Object obj, String message) // 要求参数 `subType` 必须是参数 superType 的子类或实现类,否则抛出异常,不予放行 void isAssignable(Class superType, Class subType, String message)
对象、数组、集合
ObjectUtils
1.获取对象的基本信息
// 获取对象的类名。参数为 null 时,返回字符串:"null" String nullSafeClassName(Object obj) // 参数为 null 时,返回 0 int nullSafeHashCode(Object object) // 参数为 null 时,返回字符串:"null" String nullSafeToString(boolean[] array) // 获取对象 HashCode(十六进制形式字符串)。参数为 null 时,返回 0 String getIdentityHexString(Object obj) // 获取对象的类名和 HashCode。 参数为 null 时,返回字符串:"" String identityToString(Object obj) // 相当于 toString()方法,但参数为 null 时,返回字符串:"" String getDisplayString(Object obj)
2. 判断工具
// 判断数组是否为空 boolean isEmpty(Object[] array) // 判断参数对象是否是数组 boolean isArray(Object obj) // 判断数组中是否包含指定元素 boolean containsElement(Object[] array, Object element) // 相等,或同为 null时,返回 true boolean nullSafeEquals(Object o1, Object o2) /* 判断参数对象是否为