guava之Joiner 和 Splitter
来源:互联网 发布:galgame mac 编辑:程序博客网 时间:2024/05/16 01:37
最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享。本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理。
Joiner
首先我们来看看下面我们经常遇见的一个案例:
题目:对于一个如下定义List List<String> list = new ArrayList<String>("1", "2", null, “3”);按照’,’分割,并过滤掉null。
如果不用第三方库,如common-lange,Guava,用原生java,我们将怎么继续?
是不是很简单,但是繁琐,而且这里还有个坑,我们使用append的方式,在每次for完成后,我们必须去修正remove最后的分隔符:builder.setLength(builder.length() delimiter.length());
Guava版本呢?
我们不在考虑更多的细节,并且很有语义的告诉代码的阅读者,用什么分隔符,需要过滤null值再join。
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的代码如下:
这里采用了on传入map item之间分隔符,以及withKeyValueSeparator传递map项key/value之间的分隔符。所以能够很简单的实现,不用我们在去实现一个的for循环代码。
MapSplitter
题目:对url中的查询字符串"id=123&name=green"进行分割
利用Guava的MapSplitter的代码如下:
这里同样利用on传入字符串的第一分隔符,withKeyValueSeparator传入项的分隔符,产生map的key/value项,其结果是一个{id=123, name=green}的Map对象。
- guava之Joiner 和 Splitter
- guava之Joiner 和 Splitter
- guava之Joiner 和 Splitter
- guava 之 Joiner Splitter处理字符串利器
- Guava中Splitter和Joiner的用法
- 【Guava】Joiner、Splitter源码
- Guava字符串处理Joiner、Splitter
- Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- ] Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- Google Guava 库 CharMatcher 、Joiner以及Splitter
- guava之joiner
- Google Guava学习计划第一章Guava Utilities—Joiner and Splitter
- Guava——Joiner连接字符串Splitter分割字符串
- Guava学习之Splitter
- Guava学习之Splitter
- guava之Splitter
- Guava使用之Splitter
- guava的String之Splitter
- Apache ActiveMQ
- 如何更好的理解IOC和AOP
- Lua脚本接入Android使用JNI调用本地接口,需要注意的问题
- 解决js 出现乱码问题
- oc 和swift 混编之--准备工作
- guava之Joiner 和 Splitter
- Android 一键加速原理
- tomcat优化方案(转)
- Java中的Synchronized,有时候没有那么简单
- 安装Yii碰到“the file or directory to be published does not exist bower/jquery/dist”
- MongoDB 分片的原理、搭建、应用
- 初识C++之运算符重载
- Android 升级SDK慢的问题
- Volley框架学习一