作者:CadeCode\地址:https://juejin.cn/post/704340...断言断言是一种逻辑判断,用来检查什么不应该发生。JDK1.4引入了Assert关键字,可以传递JVM参数-enableassertionsenableSpringBoot提供了Assert断言工具类,通常用于数据合法性校验//参数对象必须为非空(NotNull),否则会抛出异常,不会释放//参数message参数,用于自定义异常信息。voidnotNull(Objectobject,Stringmessage)//要求参数必须为空(Null),否则会抛出异常,不会被“释放”。//与notNull()方法的断言规则相反voidisNull(Objectobject,Stringmessage)//要求参数必须为真(True),否则会抛出异常,不会被“释放”.voidisTrue(booleanexpression,Stringmessage)//要求参数(List/Set)必须非空(NotEmpty),否则抛出异常,不会被释放voidnotEmpty(Collectioncollection,Stringmessage)//要求参数(String)必须有长度(即NotEmpty),否则会抛出异常,不会被释放voidhasLength(Stringtext,Stringmessage)//参数(String)必须有内容(ie,NotBlank),否则会抛出异常,不被释放voidhasText(Stringtext,Stringmessage)//要求参数为指定类型的实例,否则会抛出异常,不会被释放被释放voidisInstanceOf(Classtype,Objectobj,Stringmessage)//要求参数`subType`必须是参数superType的子类或实现类,否则会抛出异常,不释放。voidisAssignable(ClasssuperType,ClasssubType,Stringmessage)Object,array,collectionObjectUtils获取对象的基本信息//获取对象的类名。当参数为空时,返回字符串:"null"StringnullSafeClassName(Objectobj)//当参数为空时,返回0intnullSafeHashCode(Objectobject)//当参数为空时,返回字符串:"null"StringnullSafeToString(boolean[]array)//获取对象的HashCode(十六进制字符串)。当参数为null时,返回0StringgetIdentityHexString(Objectobj)//获取对象的类名和HashCode。当参数为null时,返回string:""StringidentityToString(Objectobj)//相当于toString()方法,但是当参数为null时,返回string:""StringgetDisplayString(Objectobj)判断工具//判断数组是否为空booleanisEmpty(Object[]array)//判断参数对象是否为数组booleanisArray(Objectobj)//判断数组是否包含指定元素booleancontainsElement(Object[]array,Objectelement)//相等,或者都为null时,返回truebooleannullSafeEquals(Objecto1,Objecto2)/*判断参数对象是否为空,判断标准为:Optional:Optional.empty()Array:length==0CharSequence:length==0Collection:集合。isEmpty()Map:Map.isEmpty()*/booleanisEmpty(Objectobj)其他工具方法//在参数数组末尾追加新元素,返回新数组A[]addObjectToArray(A[]array,Oobj)//原生基本类型数组-->包装类数组Object[]toObjectArray(Objectsource)StringUtils字符串判断工具//判断字符串是否为null或""。注意包含空格的字符串非空booleanisEmpty(Objectstr)//判断字符串是否以指定内容结尾。IgnorecasebooleanendsWithIgnoreCase(Stringstr,Stringsuffix)//判断字符串是否以指定内容开头。忽略大小写booleanstartsWithIgnoreCase(Stringstr,Stringprefix)//是否包含空格booleancontainsWhitespace(Stringstr)//判断字符串是否为空且长度不为0,即NotEmptybooleanhasLength(CharSequencestr)//判断字符字符串是否包含实际内容,即不只包含空白字符,即NotBlankbooleanhasText(CharSequencestr)//判断字符串的指定索引是否包含子字符串。booleansubstringMatch(CharSequencestr,intindex,CharSequencesubstring)//统计指定子串在字符串中出现的次数intcountOccurrencesOf(Stringstr,Stringsub)字符串操作工具//查找并替换指定子串Stringreplace(StringinString,StringoldPattern,StringnewPattern)//去除尾部的特定字符StringtrimTrailingCharacter(Stringstr,chartrailingCharacter)//去除头部的特定字符StringtrimLeadingCharacter(Stringstr,charleadingCharacter)//去除头部的空白字符StringtrimLeadingWhitespace(Stringstr)//去除头部的空白字符StringtrimTrailingWhitespace(Stringstr)//去除头部和尾部的空白字符StringtrimWhitespace(Stringstr)//去除首尾空白字符middleStringtrimAllWhitespace(Stringstr)//删除指定子串Stringdelete(StringinString,Stringpattern)//删除指定字符(可以是多个)StringdeleteAny(StringinString,StringcharsToDelete)//执行trim()方法在数组的每一项上String[]trimArrayElements(String[]array)//解码URL字符串StringuriDecode(Stringsource,Charsetcharset)路径相关的工具方法//解析路径字符串并优化“..”字符串cleanPath(Stringpath)//解析路径字符串并解析出文件名部分StringgetFilename(Stringpath)//解析路径字符串并解析出FileextensionStringgetFilenameExtension(Stringpath)//比较两个字符串判断是否相同路径会自动处理路径中的“..”booleanpathEquals(Stringpath1,Stringpath2)//删除文件路径名的后缀partinStringstripFilenameExtension(Stringpath)//使用“.作为分隔符获取最后一部分Stringunqualify(StringqualifiedName)//使用指定字符作为分隔符获取最后一部分Stringunqualify(StringqualifiedName,charseparator)CollectionUtils集合判断工具//判断List/Set是否为空booleanisEmpty(Collection>collection)//判断Map是否为空booleanisEmpty(Map,?>map)//判断List/Set是否为空containsAnobjectbooleancontainsInstance(Collection>collection,Objectelement)//使用迭代器判断一个对象是否包含在List/Set中booleancontains(Iterator>iterator,Objectelement)//判断List/是否theSetcontainsanyoneofsomeobjectsbooleancontainsAny(Collection>source,Collection>candidates)//判断List/Set中的每个元素是否唯一。即List/Set中没有重复元素booleanhasUniqueObject(Collection>collection)集合操作工具//将Array中的所有元素添加到List/Set
