本文主要讲解Guava中的Joiner和Splitter 的用法,通过使用Joiner将集合转换为String,使用Splitter将字符串转换为集合。
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>19.0</version>
</dependency>
List<String> names = Lists.newArrayList("John", "Jane", "Adam", "Tom");
String result = Joiner.on(",").join(names);
对于MapSplitter的最好案例就是url的param编码。 生产一个查询id: 123,name: green的学生信息的url。
Joiner.on("&").withKeyValueSeparator("=").join(ImmutableMap.of("id", "123", "name", "green"));
String str = "a,b, c,,d";
Iterable<String> result = Splitter.on(',')//设置分隔符
.split(str); //要分割的字符串
System.out.println("--start--");
for (String s : result) {
System.out.println(s);
}
String str = "a,b, c,,d";
Iterable<String> result = Splitter.on(',')//设置分隔符
.omitEmptyStrings() //用于去除为空格的分割结果
.split(str); //要分割的字符串
System.out.println("--start--");
for (String s : result) {
System.out.println(s);
}
String str = "a, b , c,,d";
Iterable<String> result = Splitter.on(',')//设置分隔符
.trimResults() //去除前后空格
.omitEmptyStrings() //用于去除为空格的分割结果
.split(str); //要分割的字符串
System.out.println("--start--");
for (String s : result) {
System.out.println(s);
}
String input = "apple - banana - orange";
List<String> result = Splitter.on("-")
.trimResults()
.splitToList(input);
for (String string : result) {
System.out.println(string);
}
final Map<String, String> join = Splitter.on("&").withKeyValueSeparator("=").split("id=123&name=green");