字符串工具类

对字符串的判断空

中文语境中的『空』在编程领域中细分为三种:null、"" 和 仅含空白符的字符串。即,英语中的 null、empty 和 blank 。

StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true

对字符串作拼接

commons-lang3 在 org.apache.commons.lang3 包下提供了一个 StringUtils 工具类,其中有名为 join 和 joinWith 的方法,可用于字符串的拼接。

StringUtils.join(null) = null StringUtils.join([]) = "" StringUtils.join([null]) = "" StringUtils.join(["a", "b", "c"]) = "abc" StringUtils.join([null, "", "a"]) = "a" StringUtils.joinWith(",", {"a", "b"}) = "a,b" StringUtils.joinWith(",", {"a", "b",""}) = "a,b," StringUtils.joinWith(",", {"a", null, "b"}) = "a,,b" StringUtils.joinWith(null, {"a", "b"}) = "ab"

对字符串的拆分

commons-lang3 在 org.apache.commons.lang3 包下提供了一个 StringUtils 工具类,其中有名为 .split 的方法,可用于字符串的拆分。

StringUtils.split(null, *) = null StringUtils.split("", *) = [] StringUtils.split("a.b.c", '.') = ["a", "b", "c"] StringUtils.split("a..b.c", '.') = ["a", "b", "c"] StringUtils.split("a:b:c", '.') = ["a:b:c"] StringUtils.split("a b c", ' ') = ["a", "b", "c"]

字符串内容的替换

guava 的 CharMatcher 类

commons-lang3 在 org.apache.commons.lang3 包下提供了一个 StringUtils 工具类,其中有名为 replace 的方法,可用于替换字符串中的指定内容。

StringUtils.replace(null, *, *) = null StringUtils.replace("", *, *) = "" StringUtils.replace("any", null, *) = "any" StringUtils.replace("any", *, null) = "any" StringUtils.replace("any", "", *) = "any" StringUtils.replace("aba", "a", null) = "aba" StringUtils.replace("aba", "a", "") = "b" StringUtils.replace("aba", "a", "z") = "zbz"

数组工具类

判断数组中是否包含指定元素

contains 检查字符串中是否包含指定字符。

ArrayUtils.contains([1,2,3,4], 4)) = true

向数组中添加元素
.add 方法,将给定的数据添加到指定的数组中,返回一个新的数组。

.addAll 方法,将给定的多个数据添加到指定的数组中,返回一个新的数组。

截取数组中的一部分
.subarray 方法用于截取数组。按指定位置区间截取并返回一个新的数组。区间坐标左闭右开。

查找元素并返回其索引
.indexOf 方法用于查看数组中是否有指定的数值。 如果指定的元素存在,返回 index 的数值,否则返回 -1 。

复制数组
.clone 方法用于复制数组并返回。

空安全的查询长度和查询长度
.isEmpty 方法用于判断该数组是否为空。