StringJoiner:
是JDK8所提供的字符串拼接函数,直接使用StringBuilder拼接也是可以的,只是有点复杂,比如下面类似的代码应该不少人写过,代码并没什么问题,只是有点小麻烦那么StringJoiner实际上就帮助我们解决了这一点的麻烦.
List<String> strs = Lists.newArrayList("张三","李四","王二");
StringBuilder builder = null;
for (int i = 0; i < strs.size(); i++) {
if (i == 0) {
builder = new StringBuilder("start").append(strs.get(i));
} else {
builder.append(",").append(strs.get(i));
}
}
builder.append("end");
Assert.assertEquals("start张三,李四,王二end", builder.toString());
改写成StringJoiner后就比较简洁了.
List<String> strs = Lists.newArrayList("张三","李四","王二");
StringJoiner joiner = new StringJoiner(",","start","end");
for (String str : strs) {
joiner.add(str);
}
Assert.assertEquals("start张三,李四,王二end", joiner.toString());