Joiner

字符串拼接对象

on方法

  • on 以空格为分隔符

  • join内是拼接的对象:迭代器对象数组可变参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//例子
Joiner.on(" ").join("四川省","成都市","金牛区").toString();

//result
四川省 成都市 金牛区

//动态拼接
StringBuffer result = new StringBuffer("result: ");
Joiner.on(" ").appendTo(result,7,8);
//result
7 8

//直接忽略Null
Joiner.on(" ").skipNulls().join("四川省","成都市","金牛区",null).toString()
//找出Null,并用其他值代替
Joiner.on(" ").useForNull("未填写").join("四川省","成都市","金牛区",null).toString()
//result
四川省 成都市 金牛区
四川省 成都市 金牛区 未填写

Joiner.MapJoiner

  • MapJoiner 是 Joiner 的内部静态类,用于帮助将 Map 对象拼接成字符串。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//例子1
Joiner.on(" ").withKeyValueSeparator("=").join(ImmutableMap.of("收件人","Nimo","联系方式","123","收件地址","浙江省杭州市滨江区XXXX"));
//result
收件人=Nimo 联系方式=123 收件地址=浙江省杭州市滨江区XXXX

//例子2
Map<String, String> testMap = Maps.newLinkedHashMap();
testMap.put("Washington D.C", "Redskins");
testMap.put("New York City", "Giants");
testMap.put("Philadelphia", "Eagles");
testMap.put("Dallas", "Cowboys");
String returnedString = Joiner.on("#").withKeyValueSeparator("=").join(testMap);
System.out.println(returnedString);
//result
Washington D.C=Redskins#New York City=Giants#Philadelphia=Eagles#Dallas=Cowboys

end :smile: