基础工具类Joiner的使用

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

Guava 中有一些基础的工具类,如下所列:

  1. Joiner 类:根据给定的分隔符把字符串连接到一起。MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value。

  2. Splitter 类:与 Joiner 操作相反的类,是根据给定的分隔符,把一个字符串分隔成若个子字符串。

  3. CharMatcher,Strings 类:对字符串通用的操作,例如移除字符串的某一部分,字符串匹配等等操作。

  4. 其他类:针对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)
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱编程的大李子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值