Joiner是guava.jar包下的一個類,將數組,集合,map等類型用指定的字符進行分割。數組
<!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>23.0</version>
</dependency>app
1.對數組進行分割-----joinui
@Test
public void testStringJoin() {
String str[] = { "aaa", "vbbb", "ccc", "ddd" };
String ss = Joiner.on("==").join(str);google
System.out.println(ss);//aaa==vbbb==ccc==ddd
}ip
2.對List進行分割,替換集合中的Null值---useForNullstring
@Test
public void testUseForNull() {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, null, 6);it
String str = Joiner.on(";").useForNull("*").join(list);io
System.out.println(str);//1;2;3;4;5;*;6
}test
3.對List進行分割,消除集合中的Null值----skipNullsList
@Test
public void testSkipNulls() {
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, null, 6);
String str = Joiner.on("==").skipNulls().join(list);
System.out.println(str);//1==2==3==4==5==6
}
4.對StringBuilder或StringBuffer進行追加----appendTo
@Test
public void testAppendTo() {
StringBuilder stringBuilder = new StringBuilder("aaa_");
List<String> strs = Arrays.asList("bbb", "ccc", "ddd");
StringBuilder sb = Joiner.on("_").appendTo(stringBuilder, strs);
System.out.println(sb.toString());//aaa_bbb_ccc_ddd
}
5.對Map進行分割-----withKeyValueSeparator
@Test
public void testMapJoiner() {
Map<String, String> map = new HashMap<String, String>();
map.put("name", "張三");
map.put("age", "13");
map.put("sex", "M");
String str = Joiner.on("&").withKeyValueSeparator("=").join(map);
System.out.println(str);//sex=M&name=張三&age=13 }