Guava 中有一些基础的工具类,如下所列:
-
Joiner 类:根据给定的分隔符把字符串连接到一起。MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value。
-
Splitter 类:与 Joiner 操作相反的类,是根据给定的分隔符,把一个字符串分隔成若个子字符串。
-
CharMatcher,Strings 类:对字符串通用的操作,例如移除字符串的某一部分,字符串匹配等等操作。
-
其他类:针对Object操作的方法,例如 toString 和 hashCode 方法等。
一、 Joiner
这是在我们代码中出现频率比较高的一个功能。经常需要将几个字符串,或者字符串数组、集合之类的东西,拼接成一个以指定符号分隔各个元素的字符串,比如要将一个用List保存的集合拼起来作为SQL语句的条件,在知道Joiner之前我们会这样做。
// 拼接: AND goods IN(123,1234,345)
productSql.append(" AND goods IN (");
for (Long goods : spuIdList) {
productSql.append(goods + ",");
}
productSql.delete(productSql.length() - 1, productSql.length()).append(")");
上面的代码注意的一点就是我们要移除字符串最后的一个分隔符。虽然不难,但是很无聊,下面借助 Joiner 类,代码瞬间变得优雅起来。
productSql.append(" AND goods IN (").append(Joiner.on(",").skipNulls().join(spuIdList)

本文介绍了Google Guava库中的Joiner和MapJoiner工具类,它们能方便地进行字符串连接和Map对象的拼接。Joiner允许跳过空指针并用特定字符串替换,MapJoiner则能将Map以指定分隔符转换为字符串。通过示例代码展示了如何优雅地使用这两个工具类,提高代码的简洁性和可读性。
最低0.47元/天 解锁文章
706

被折叠的 条评论
为什么被折叠?



