Package org.miaixz.bus.core.text
Class CharsValidator
java.lang.Object
org.miaixz.bus.core.text.CharsValidator
- Direct Known Subclasses:
CharsBacker
字符串检查工具类,提供字符串的blank和empty等检查
- empty定义:
nullor 空字符串:"" - blank定义:
nullor 空字符串:""or 空格、全角空格、制表符、换行符,等不可见字符
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanhasBlank(CharSequence... strs) 指定字符串数组中,是否包含空字符串。 如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。hasBlank() // truehasBlank("", null, " ") // truehasBlank("123", " ") // truehasBlank("123", "abc") // falsestatic booleanhasEmpty(CharSequence... args) 是否包含空字符串。 如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。hasEmpty() // truehasEmpty("", null) // truehasEmpty("123", "") // truehasEmpty("123", "abc") // falsehasEmpty(" ", "\t", "\n") // falsestatic booleanhasEmpty(Iterable<? extends CharSequence> args) 是否包含空字符串。 如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。static booleanisAllBlank(CharSequence... strs) 指定字符串数组中的元素,是否全部为空字符串。 如果指定的字符串数组的长度为 0,或者所有元素都是空字符串,则返回 true。isAllBlank() // trueisAllBlank("", null, " ") // trueisAllBlank("123", " ") // falseisAllBlank("123", "abc") // falsestatic booleanisAllCharMatch(CharSequence value, Predicate<Character> matcher) 字符串的每一个字符是否都与定义的匹配器匹配static booleanisAllEmpty(CharSequence... args) 指定字符串数组中的元素,是否全部为空字符串。 如果指定的字符串数组的长度为 0,或者所有元素都是空字符串,则返回 true。isAllEmpty() // trueisAllEmpty("", null) // trueisAllEmpty("123", "") // falseisAllEmpty("123", "abc") // falseisAllEmpty(" ", "\t", "\n") // falsestatic booleanisAllEmpty(Iterable<? extends CharSequence> args) 指定字符串数组中的元素,是否全部为空字符串。 如果指定的字符串数组的长度为 0,或者所有元素都是空字符串,则返回 true。static booleanisAllNotBlank(CharSequence... args) 是否存都不为null或空对象或空白符的对象,通过hasBlank(CharSequence...)判断元素static booleanisAllNotEmpty(CharSequence... args) 指定字符串数组中的元素,是否都不为空字符串。 如果指定的字符串数组的长度不为 0,或者所有元素都不是空字符串,则返回 true。isAllNotEmpty() // falseisAllNotEmpty("", null) // falseisAllNotEmpty("123", "") // falseisAllNotEmpty("123", "abc") // trueisAllNotEmpty(" ", "\t", "\n") // truestatic booleanisBlank(CharSequence text) 字符串是否为空白,空白的定义如下null空字符串:""空格、全角空格、制表符、换行符,等不可见字符isBlank(null) // trueisBlank("") // trueisBlank(" \t\n") // trueisBlank("abc") // falsestatic boolean检查字符串是否为null、空白串、“null”、“undefined”static booleanisEmpty(CharSequence text) 字符串是否为空,空的定义如下null空字符串:""isEmpty(null) // trueisEmpty("") // trueisEmpty(" \t\n") // falseisEmpty("abc") // falsestatic boolean检查字符串是否为null、“”、“null”、“undefined”static booleanisNotBlank(CharSequence text) 字符串是否为非空白,非空白的定义如下: 不为null不为空字符串:""不为空格、全角空格、制表符、换行符,等不可见字符isNotBlank(null) // falseisNotBlank("") // falseisNotBlank(" \t\n") // falseisNotBlank("abc") // truestatic booleanisNotEmpty(CharSequence text) 字符串是否为非空白,非空白的定义如下 不为null不为空字符串:""isNotEmpty(null) // falseisNotEmpty("") // falseisNotEmpty(" \t\n") // trueisNotEmpty("abc") // truestatic boolean检查字符串是否为null、“null”、“undefined”
-
Constructor Details
-
CharsValidator
public CharsValidator()
-
-
Method Details
-
isBlank
字符串是否为空白,空白的定义如下null- 空字符串:
"" - 空格、全角空格、制表符、换行符,等不可见字符
isBlank(null) // trueisBlank("") // trueisBlank(" \t\n") // trueisBlank("abc") // false
注意:该方法与
isEmpty(CharSequence)的区别是: 该方法会校验空白字符,且性能相对于isEmpty(CharSequence)略慢。建议:
- 该方法建议仅对于客户端(或第三方接口)传入的参数使用该方法。
- 需要同时校验多个字符串时,建议采用
ArrayValidator.hasBlank(CharSequence...)或ArrayValidator.isAllBlank(CharSequence...)
- Parameters:
text- 被检测的字符串- Returns:
- 若为空白,则返回 true
- See Also:
-
isNotBlank
字符串是否为非空白,非空白的定义如下:- 不为
null - 不为空字符串:
"" - 不为空格、全角空格、制表符、换行符,等不可见字符
isNotBlank(null) // falseisNotBlank("") // falseisNotBlank(" \t\n") // falseisNotBlank("abc") // true
注意:该方法与
isNotEmpty(CharSequence)的区别是: 该方法会校验空白字符,且性能相对于isNotEmpty(CharSequence)略慢。建议:仅对于客户端(或第三方接口)传入的参数使用该方法。
- Parameters:
text- 被检测的字符串- Returns:
- 是否为非空
- See Also:
- 不为
-
isEmpty
字符串是否为空,空的定义如下null- 空字符串:
""
isEmpty(null) // trueisEmpty("") // trueisEmpty(" \t\n") // falseisEmpty("abc") // false
注意:该方法与
isBlank(CharSequence)的区别是:该方法不校验空白字符。建议:
- 该方法建议用于工具类或任何可以预期的方法参数的校验中。
- 需要同时校验多个字符串时,建议采用
hasEmpty(CharSequence...)或isAllEmpty(CharSequence...)
- Parameters:
text- 被检测的字符串- Returns:
- 是否为空
- See Also:
-
isNotEmpty
字符串是否为非空白,非空白的定义如下- 不为
null - 不为空字符串:
""
isNotEmpty(null) // falseisNotEmpty("") // falseisNotEmpty(" \t\n") // trueisNotEmpty("abc") // true
注意:该方法与
isNotBlank(CharSequence)的区别是:该方法不校验空白字符。建议:该方法建议用于工具类或任何可以预期的方法参数的校验中。
- Parameters:
text- 被检测的字符串- Returns:
- 是否为非空
- See Also:
- 不为
-
hasBlank
指定字符串数组中,是否包含空字符串。 如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。hasBlank() // truehasBlank("", null, " ") // truehasBlank("123", " ") // truehasBlank("123", "abc") // false
注意:该方法与
isAllBlank(CharSequence...)的区别在于:- hasBlank(CharSequence...) 等价于
isBlank(...) || isBlank(...) || ... isAllBlank(CharSequence...)等价于isBlank(...) && isBlank(...) && ...
- Parameters:
strs- 字符串列表- Returns:
- 是否包含空字符串
-
isAllNotBlank
是否存都不为null或空对象或空白符的对象,通过hasBlank(CharSequence...)判断元素- Parameters:
args- 被检查的对象,一个或者多个- Returns:
- 是否都不为空
-
isAllBlank
指定字符串数组中的元素,是否全部为空字符串。 如果指定的字符串数组的长度为 0,或者所有元素都是空字符串,则返回 true。isAllBlank() // trueisAllBlank("", null, " ") // trueisAllBlank("123", " ") // falseisAllBlank("123", "abc") // false
注意:该方法与
hasBlank(CharSequence...)的区别在于:hasBlank(CharSequence...)等价于isBlank(...) || isBlank(...) || ...- isAllBlank(CharSequence...) 等价于
isBlank(...) && isBlank(...) && ...
- Parameters:
strs- 字符串列表- Returns:
- 所有字符串是否为空白
-
hasEmpty
是否包含空字符串。 如果指定的字符串数组的长度为 0,或者其中的任意一个元素是空字符串,则返回 true。hasEmpty() // truehasEmpty("", null) // truehasEmpty("123", "") // truehasEmpty("123", "abc") // falsehasEmpty(" ", "\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。isAllEmpty() // trueisAllEmpty("", null) // trueisAllEmpty("123", "") // falseisAllEmpty("123", "abc") // falseisAllEmpty(" ", "\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。isAllNotEmpty() // falseisAllNotEmpty("", null) // falseisAllNotEmpty("123", "") // falseisAllNotEmpty("123", "abc") // trueisAllNotEmpty(" ", "\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:
- 是否全部匹配
-