guava之Joiner 和 Splitter
2015-01-11 23:49
411 查看
guava之Joiner 和 Splitter
2015-01-10 13:10 by 破狼, 159 阅读, 2 评论, 收藏, 编辑最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享。本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理。
Joiner
首先我们来看看下面我们经常遇见的一个案例:题目: 对于一个如下定义List List<String> list =of("1", "2", null, “3”); 按照’,’分割,并过滤掉null。
如果不用第三方库,如common-lange,Guava,用原生java,我们将怎么继续?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public static String join(List stringList, String delimiter) { StringBuilder builder = new StringBuilder(); for (Object item : stringList) { if (item != null) { builder .append(item) .append(delimiter); } } builder.setLength(builder.length() delimiter.length()); return builder.toString(); } |
Guava版本呢?
1 2 3 4 5 6 | public static String joinByGuava(List stringList, String delimiter) { return Joiner .on(delimiter) .skipNulls() .join(stringList); } |
note:当然我们也可以用common-lange来很简单的完成:StringUtils.join(stringList, delimiter).但是个人推荐尽量使用Guava替代common-lange,因为Guava还有更多的有用方法,后续会陆续介绍,还有就是Guava的API相对更有语意一点。
Splitter
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
- Google Guava 库 CharMatcher 、Joiner以及Splitter
- guava之Joiner 和 Splitter
- Guava学习笔记(二):基础(Joiner,Objects,Splitter及Strings)
- 【Guava】Joiner、Splitter源码
- guava之Joiner 和 Splitter
- Guava——Joiner连接字符串Splitter分割字符串
- guava之Joiner 和 Splitter
- ] Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- guava--Joiner、Splitter、MapJoinner、MapSplitter
- guava 之 Joiner Splitter处理字符串利器
- guava之Joiner 和 Splitter
- guava之Joiner 和 Splitter(转)
- Guava中Splitter和Joiner的用法
- Guava字符串处理Joiner、Splitter
- guava的String之Splitter
- Guava学习之Splitter
- Guava base -- Joiner