别再自己瞎写工具类了,SpringBoot 内置工具类应有尽有,建议收藏

背景最近发现同事写了不少重复的工具类 , 发现其中很多功能 , SpringBoot 自带的都有 。于是整理了本文 , 希望能够帮助到大家!
断言1. 断言是一个逻辑判断 , 用于检查不应该发生的情况2. Assert 关键字在 JDK1.4 中引入 , 可通过 JVM 参数-enableassertions开启3. 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) 
磊哥准备了新版300套书籍(一套20本 , 重13斤 , 近4000页) , 只要你加入 , 知识星球 , 就免费包邮送一套(20本纸质版面试题)给你!
内测 , 首发300套 , 不要错过 
对象、数组、集合ObjectUtils1. 获取对象的基本信息
// 获取对象的类名 。参数为 null 时 , 返回字符串:"null"String nullSafeClassName(Object obj)// 参数为 null 时 , 返回 0int nullSafeHashCode(Object object)// 参数为 null 时 , 返回字符串:"null"String nullSafeToString(boolean[] array)// 获取对象 HashCode(十六进制形式字符串) 。参数为 null 时 , 返回 0String 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时 , 返回 trueboolean nullSafeEquals(Object o1, Object o2)/*判断参数对象是否为空 , 判断标准为:Optional: Optional.empty()Array: length == 0CharSequence: length == 0Collection: Collection.isEmpty()Map: Map.isEmpty() */boolean isEmpty(Object obj)3. 其他工具方法
// 向参数数组的末尾追加新元素 , 并返回一个新数组<A, O extends A> A[] addObjectToArray(A[] array, O obj)// 原生基础类型数组 --> 包装类数组Object[] toObjectArray(Object source)StringUtils1. 字符串判断工具
// 判断字符串是否为 null , 或 "" 。注意 , 包含空白符的字符串为非空boolean isEmpty(Object str)// 判断字符串是否是以指定内容结束 。忽略大小写boolean endsWithIgnoreCase(String str, String suffix)// 判断字符串是否已指定内容开头 。忽略大小写boolean startsWithIgnoreCase(String str, String prefix)// 是否包含空白符boolean containsWhitespace(String str)// 判断字符串非空且长度不为 0 , 即 , Not Emptyboolean hasLength(CharSequence str)// 判断字符串是否包含实际内容 , 即非仅包含空白符 , 也就是 Not Blankboolean hasText(CharSequence str)// 判断字符串指定索引处是否包含一个子串 。boolean substringMatch(CharSequence str, int index, CharSequence substring)// 计算一个字符串中指定子串的出现次数int countOccurrencesOf(String str, String sub)2. 字符串操作工具
// 查找并替换指定子串String replace(String inString, String oldPattern, String newPattern)// 去除尾部的特定字符String trimTrailingCharacter(String str, char trailingCharacter)// 去除头部的特定字符String trimLeadingCharacter(String str, char leadingCharacter)// 去除头部的空白符String trimLeadingWhitespace(String str)// 去除头部的空白符String trimTrailingWhitespace(String str)// 去除头部和尾部的空白符String trimWhitespace(String str)// 删除开头、结尾和中间的空白符String trimAllWhitespace(String str)// 删除指定子串String delete(String inString, String pattern)// 删除指定字符(可以是多个)String deleteAny(String inString, String charsToDelete)// 对数组的每一项执行 trim() 方法String[] trimArrayElements(String[] array)// 将 URL 字符串进行解码String uriDecode(String source, Charset charset)


推荐阅读