Class StringValidator
- Direct Known Subclasses:
CharsBacker
- empty定义:
nullor 空字符串:"" - blank定义:
nullor 空字符串:""or 空格、全角空格、制表符、换行符,等不可见字符
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanhasEmpty(CharSequence... args) 是否包含空字符串。static booleanhasEmpty(Iterable<? extends CharSequence> args) 是否包含空字符串。static booleanisAllCharMatch(CharSequence value, Predicate<Character> matcher) 字符串的每一个字符是否都与定义的匹配器匹配static booleanisAllEmpty(CharSequence... args) 指定字符串数组中的元素,是否全部为空字符串。static booleanisAllEmpty(Iterable<? extends CharSequence> args) 指定字符串数组中的元素,是否全部为空字符串。static booleanisAllNotEmpty(CharSequence... args) 指定字符串数组中的元素,是否都不为空字符串。static booleanisBlank(CharSequence text) 字符串是否为空白,空白的定义如下:static boolean检查字符串是否为null、空白串、“null”、“undefined”static booleanisEmpty(CharSequence text) 字符串是否为空,空的定义如下:static boolean检查字符串是否为null、“”、“null”、“undefined”static booleanisNotBlank(CharSequence text) 字符串是否为非空白,非空白的定义如下: 不为null不为空字符串:""不为空格、全角空格、制表符、换行符,等不可见字符static booleanisNotEmpty(CharSequence text) 字符串是否为非空白,非空白的定义如下:static boolean检查字符串是否为null、“null”、“undefined”
-
Constructor Details
-
StringValidator
public StringValidator()
-
-
Method Details
-
isBlank
字符串是否为空白,空白的定义如下:
null- 空字符串:
"" - 空格、全角空格、制表符、换行符,等不可见字符
例:
StringKit.isBlank(null) // trueStringKit.isBlank("") // trueStringKit.isBlank(" \t\n") // trueStringKit.isBlank("abc") // false
注意:该方法与
isEmpty(CharSequence)的区别是: 该方法会校验空白字符,且性能相对于isEmpty(CharSequence)略慢。建议:
- 该方法建议仅对于客户端(或第三方接口)传入的参数使用该方法。
- 需要同时校验多个字符串时,建议采用
ArrayKit.hasBlank(CharSequence...)或ArrayKit.isAllBlank(CharSequence...)
- Parameters:
text- 被检测的字符串- Returns:
- 若为空白,则返回 true
- See Also:
-
isNotBlank
字符串是否为非空白,非空白的定义如下:- 不为
null - 不为空字符串:
"" - 不为空格、全角空格、制表符、换行符,等不可见字符
例:
StringKit.isNotBlank(null) // falseStringKit.isNotBlank("") // falseStringKit.isNotBlank(" \t\n") // falseStringKit.isNotBlank("abc") // true
注意:该方法与
isNotEmpty(CharSequence)的区别是: 该方法会校验空白字符,且性能相对于isNotEmpty(CharSequence)略慢。建议:仅对于客户端(或第三方接口)传入的参数使用该方法。
- Parameters:
text- 被检测的字符串- Returns:
- 是否为非空
- See Also:
- 不为
-
isEmpty
字符串是否为空,空的定义如下:
null- 空字符串:
""
例:
StringKit.isEmpty(null) // trueStringKit.isEmpty("") // trueStringKit.isEmpty(" \t\n") // falseStringKit.isEmpty("abc") // false
注意:该方法与
isBlank(CharSequence)的区别是:该方法不校验空白字符。建议:
- 该方法建议用于工具类或任何可以预期的方法参数的校验中。
- 需要同时校验多个字符串时,建议采用
hasEmpty(CharSequence...)或isAllEmpty(CharSequence...)
- Parameters:
text- 被检测的字符串- Returns:
- 是否为空
- See Also:
-
isNotEmpty
字符串是否为非空白,非空白的定义如下:
- 不为
null - 不为空字符串:
""
例:
StringKit.isNotEmpty(null) // falseStringKit.isNotEmpty("") // falseStringKit.isNotEmpty(" \t\n") // trueStringKit.isNotEmpty("abc") // true
注意:该方法与
isNotBlank(CharSequence)的区别是:该方法不校验空白字符。建议:该方法建议用于工具类或任何可以预期的方法参数的校验中。
- Parameters:
text- 被检测的字符串- Returns:
- 是否为非空
- See Also:
- 不为
-
hasEmpty
是否包含空字符串。
如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。
例:
StringKit.hasEmpty() // trueStringKit.hasEmpty("", null) // trueStringKit.hasEmpty("123", "") // trueStringKit.hasEmpty("123", "abc") // falseStringKit.hasEmpty(" ", "\t", "\n") // false
注意:该方法与
isAllEmpty(CharSequence...)的区别在于:- hasEmpty(CharSequence...) 等价于
isEmpty(...) || isEmpty(...) || ... isAllEmpty(CharSequence...)等价于isEmpty(...) && isEmpty(...) && ...
- Parameters:
args- 字符串列表- Returns:
- 是否包含空字符串
-
hasEmpty
是否包含空字符串。
如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。
- Parameters:
args- 字符串列表- Returns:
- 是否包含空字符串
-
isAllEmpty
指定字符串数组中的元素,是否全部为空字符串。
如果指定的字符串数组的长度为 0,或者所有元素都是空字符串,则返回 true。
例:
StringKit.isAllEmpty() // trueStringKit.isAllEmpty("", null) // trueStringKit.isAllEmpty("123", "") // falseStringKit.isAllEmpty("123", "abc") // falseStringKit.isAllEmpty(" ", "\t", "\n") // false
注意:该方法与
hasEmpty(CharSequence...)的区别在于:hasEmpty(CharSequence...)等价于isEmpty(...) || isEmpty(...) || ...- isAllEmpty(CharSequence...) 等价于
isEmpty(...) && isEmpty(...) && ...
- Parameters:
args- 字符串列表- Returns:
- 所有字符串是否为空白
-
isAllEmpty
指定字符串数组中的元素,是否全部为空字符串。
如果指定的字符串数组的长度为 0,或者所有元素都是空字符串,则返回 true。
- Parameters:
args- 字符串列表- Returns:
- 所有字符串是否为空白
-
isAllNotEmpty
指定字符串数组中的元素,是否都不为空字符串。
如果指定的字符串数组的长度不为 0,或者所有元素都不是空字符串,则返回 true。
例:
StringKit.isAllNotEmpty() // falseStringKit.isAllNotEmpty("", null) // falseStringKit.isAllNotEmpty("123", "") // falseStringKit.isAllNotEmpty("123", "abc") // trueStringKit.isAllNotEmpty(" ", "\t", "\n") // true
注意:该方法与
isAllEmpty(CharSequence...)的区别在于:isAllEmpty(CharSequence...)等价于isEmpty(...) && isEmpty(...) && ...- isAllNotEmpty(CharSequence...) 等价于
!isEmpty(...) && !isEmpty(...) && ...
- Parameters:
args- 字符串数组- Returns:
- 所有字符串是否都不为为空白
-
isNullOrUndefined
检查字符串是否为null、“null”、“undefined”- Parameters:
text- 被检查的字符串- Returns:
- 是否为null、“null”、“undefined”
-
isEmptyOrUndefined
检查字符串是否为null、“”、“null”、“undefined”- Parameters:
text- 被检查的字符串- Returns:
- 是否为null、“”、“null”、“undefined”
-
isBlankOrUndefined
检查字符串是否为null、空白串、“null”、“undefined”- Parameters:
text- 被检查的字符串- Returns:
- 是否为null、空白串、“null”、“undefined”
-
isAllCharMatch
字符串的每一个字符是否都与定义的匹配器匹配- Parameters:
value- 字符串matcher- 匹配器- Returns:
- 是否全部匹配
-