guava--Joiner、Splitter、MapJoinner、MapSplitter
2016-12-15 15:17
337 查看
Joiner:
List<String> stringList = new ArrayList<String>();
stringList.add("aa");
stringList.add("bb");
System.out.println(new JoinerTest().buildString(stringList, "/"));
System.out.println(Joiner.on("|").skipNulls().join(stringList));
System.out.println(Joiner.on("|").useForNull("no value").join(stringList));
System.out.println(Joiner.on("/").join("aa", "bb", ""));
// FileWriter fileWriter = new FileWriter(new File("/Users/zj/aa.txt"));
// Joiner joiner = Joiner.on("#").useForNull(" ");
// //returns the FileWriter instance with the values
// //appended into it
// joiner.appendTo(fileWriter, stringList);
// fileWriter.flush();
// fileWriter.close();
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");
MapJoiner mapJoiner = Joiner.on("#").withKeyValueSeparator("=");
System.out.println(mapJoiner.join(testMap));
Splitter:
System.out.println(Splitter.on('|').trimResults().split("foo|bar ||baz "));
String startString = "Washington D.C=Redskins#New York" +
"City=Giants#Philadelphia=Eagles#Dallas=Cowboys";
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");
Splitter.MapSplitter mapSplitter = Splitter.on("#").withKeyValueSeparator("=");
Map<String,String> splitMap = mapSplitter.split(startString);
利用Guava的MapJoinner的代码如下:
这里采用了on传入map item之间分隔符,以及withKeyValueSeparator传递map项key/value之间的分隔符。所以能够很简单的实现,不用我们在去实现一个的for循环代码。
利用Guava的MapSplitter的代码如下:
这里同样利用on传入字符串的第一分隔符,withKeyValueSeparator传入项的分隔符,产生map的key/value项,其结果是一个{id=123, name=green}的Map对象。
List<String> stringList = new ArrayList<String>();
stringList.add("aa");
stringList.add("bb");
System.out.println(new JoinerTest().buildString(stringList, "/"));
System.out.println(Joiner.on("|").skipNulls().join(stringList));
System.out.println(Joiner.on("|").useForNull("no value").join(stringList));
System.out.println(Joiner.on("/").join("aa", "bb", ""));
// FileWriter fileWriter = new FileWriter(new File("/Users/zj/aa.txt"));
// Joiner joiner = Joiner.on("#").useForNull(" ");
// //returns the FileWriter instance with the values
// //appended into it
// joiner.appendTo(fileWriter, stringList);
// fileWriter.flush();
// fileWriter.close();
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");
MapJoiner mapJoiner = Joiner.on("#").withKeyValueSeparator("=");
System.out.println(mapJoiner.join(testMap));
Splitter:
System.out.println(Splitter.on('|').trimResults().split("foo|bar ||baz "));
String startString = "Washington D.C=Redskins#New York" +
"City=Giants#Philadelphia=Eagles#Dallas=Cowboys";
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");
Splitter.MapSplitter mapSplitter = Splitter.on("#").withKeyValueSeparator("=");
Map<String,String> splitMap = mapSplitter.split(startString);
MapJoinner和MapSplitter
对于MapJoinner和MapSplitter的最好案例就是url的param编码。MapJoinner
题目: 生产一个查询id: 123,name: green的学生信息的url。
利用Guava的MapJoinner的代码如下:
1 | Joiner.on("&").withKeyValueSeparator("=").join(ImmutableMap.of("id", "123", "name", "green")); |
MapSplitter
题目: 对url中的查询字符串"id=123&name=green"进行分割
利用Guava的MapSplitter的代码如下:
1 | final Map<String, String> join = Splitter.on("&").withKeyValueSeparator("=").split("id=123&name=green"); |
相关文章推荐
- Guava——Joiner连接字符串Splitter分割字符串
- guava之Joiner 和 Splitter
- Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- ] Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- guava之Joiner 和 Splitter
- guava 之 Joiner Splitter处理字符串利器
- guava之Joiner 和 Splitter
- Guava中Splitter和Joiner的用法
- Guava字符串处理Joiner、Splitter
- guava之Joiner 和 Splitter(转)
- Guava之 Joiner & Splitter
- guava之Joiner 和 Splitter
- Google Guava 库 CharMatcher 、Joiner以及Splitter
- Guava学习笔记(二):基础(Joiner,Objects,Splitter及Strings)
- guava之Joiner 和 Splitter
- 【Guava】Joiner、Splitter源码
- guava之Joiner 和 Splitter
- guava joiner
- Guava字符串处理Joiner源码分析
- guava Joiner