guava Joiner以及MapJoiner的用法

guava joiner主要用于字符串的拼接:传统的假如我们想要拼接一个list以某个分割符分割我们自己编程大概代码如下:

public static String concatString(List<String> lists,String delimiter){
StringBuilder builder = new StringBuilder();
for(String s : lists){
if(s!=null){
builder.append(s).append(delimiter);
}
}
builder.setLength(builder.length()-delimiter.length());
return builder.toString();
}


这段代码没什么好说的,比较简单。但是这只是针对list集合,可能还会针对数组等其他数据结构的字符串拼接。自己实现还是有些麻烦。为此guava为我们提供了一个joiner类来负责拼接。

例如上面的代码可以改写为:
Joiner.on("|").join(lists);

一句代码即解决。
此外joiner还提供了两个方法分别是过滤null和将null替换为某个字符串。

Joiner.on("|").useForNull(" 没有").join(lists);
Joiner.on("|").skipNulls().join(lists);



MapJoiner的用法和Joiner类似,不过MapJoiner主要针对map的字符串拼接例:

Map<String,String> maps = Maps.newHashMap();
maps.put("id", "1");
maps.put("name", "2");
String ss= Joiner.on("&").withKeyValueSeparator("=").join(maps);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值