guava之Joiner 和 Splitter】的更多相关文章

最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享.本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理. Joiner 首先我们来看看下面我们经常遇见的一个案例: 题目: 对于一个如下定义List List<String> list = new ArrayList<String>("1", "2", null, “3”); 按照’,’分割,并过滤掉null. 如果不用第三方库,…
最近在给客户准备一个Guava的分享,所以会陆续的更新关于Guava更多的细节分享.本文将记录Guava中得字符串处理Joiner(连接)和Splitter(分割)处理. Joiner 首先我们来看看下面我们经常遇见的一个案例: 题目: 对于一个如下定义List List<String> list = new ArrayList<String>("1", "2", null, “3”); 按照’,’分割,并过滤掉null. 如果不用第三方库,…
在现在项目中经常看到 这两个类的使用,开始时候不明白具体是做的什么事情,就单独拿出来学习下了,参照了网上的博文,这里主要是简单的讲讲用法. 具体对这两个类,不做过多介绍,有个在线文档,需要的可以自己去看 http://www.yiibai.com/guava/guava_joiner.html 1.需要的jar 2.代码 package com.joiner.test; import java.util.ArrayList; import java.util.List; import java.…
Splitter可以对字符串进行分割,在分割时的方式有2种, 1.按字符/字符串分割 2.按正则进行分割 Splitter在分割完成时可以转换成list和map 一.按字符进行分割 //1.用指定字符切分字符串,并转换成list String s1 = "hello|hihi"; String s2 = "hello|haha|||"; Splitter.on("|").splitToList(s1).forEach(System.out::pr…
接上篇Guava之Joiner和Splitter,本篇将介绍Guava的另外一个有用的对象Optional,这在Java中Google Guava首先给我们提出可空对象模型的.在其他语言如c#这是已经存在很久的模式,并包含在.net类库中Nullable(Int?也是一个可空类型). Null sucks 回到本文主题Optional.在我日常编程中NullPointerException是肯定是大家遇见最多的异常错误: 为此Doug Lea曾说过: Null sucks. Sir C. A.…
代码重构  6大原则:    单一职责原则(一个类最好最好只有一种行为动机,太多承担职责会导致耦合度太高).    开放封闭原则(功能可以扩展,但是不可以内部修改).    依赖倒转原则(应该依赖抽象而不应该依赖具体对象).    里氏代换原则(父类都替换成它的子类程序的行为没有变化. 正是有了里氏代换原则,才使得"开-闭"原则成为了可能).    接口隔离原则(为同一个角色提供宽.窄不同的接口,以对付不同的客户端).    迪米特法则(最少知道原则;如果两个类不必彼此直接通信,那么这…
Joiner Guava 是Google 对Java的内置类型进行增强和扩展的工具. Joiner.on(", ").join(Iterator<> iter) Joiner.on(" - ").join(Object[] objects)Joiner.on(" / ").join(first, second, rest..) Joiner.on(" : ").skipNulls().join() 1. on()方…
文章转载自:http://my.oschina.net/leejun2005/blog/172328 目录:[ - ] 1-使用 GOOGLE COLLECTIONS,GUAVA,STATIC IMPORTS 编写漂亮代码 1.Google Collections一览 2.操作lists和maps 3.静态导入和Eclipse模板 4.Guava走马观花 2-深入探索 GOOGLE GUAVA 库 1.The Guava CharMatcher 2.Joiner and Splitter 3.W…
原文出处: oschina 在这个系列的第一部分里,我简单的介绍了非常优秀的Google collections和Guava类库,并简要的解释了作为Java程序员,如果使用Guava库来减少项目中大量的样板代码.在这篇博文中我们将深入挖掘Guava提供的更高级的特性. 我们将深入挖掘Guava库,并了解一下优雅的CharMatcher类.Joiner以及Splitter类,以及在处理Java基本类型时Guava给我们带来的别的工具类. The Guava CharMatcher CharMatc…
原文出处: oschina (API:http://ifeve.com/category/framework/guava-2/ JAR DOC Source 链接:http://pan.baidu.com/s/1dDdEFZj 密码:cqfe ) 这个夏天的早些时候,我已经极力向我的所有同事推荐了 Google Collections . Kevin Bourrillion说他的一个同事告诉他"没有使用Google Collections前编程就像把一只手绑在背后". 我灰常同意Kev…
参考: http://codemunchies.com/2009/10/beautiful-code-with-google-collections-guava-and-static-imports-part-1/(2,3,4) http://blog.publicobject.com 更多用法参考http://ajoo.iteye.com/category/119082 附 guava中文api地址http://ifeve.com/google-guava/ 以前这么用: Map<String…
package guava; import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Map; import ja…
Guava入门使用教程 Guava Maven dependency In our examples, we use the following Maven dependency. <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>19.0</version> </dependency>…
Joiner 我们经常需要将几个字符串,或者字符串数组.列表之类的东西,拼接成一个以指定符号分隔各个元素的字符串,比如把 [1, 2, 3] 拼接成 "1 2 3". 在 Python 中我只需要简单的调用 str.join 函数,就可以了,就像这样. ' '.join(map(str, [1, 2, 3])) 到了 Java 中,如果你不知道 Guava 的存在,基本上就得手写循环去实现这个功能,代码瞬间变得丑陋起来. Guava 为我们提供了一套优雅的 API,让我们能够轻而易举的…
转自:http://www.jamespan.me/blog/2015/02/08/guava-basic-utilities-1/ Guava 是个风火轮之基础工具 (1) 前言 Guava 是 Java 开发者的好朋友.虽然我在开发中使用 Guava 很长时间了,Guava API 的身影遍及我写的生产代码的每个角落,但是我用到的功能只是 Guava 的功能集中一个少的可怜的真子集,更别说我一直没有时间认真的去挖掘 Guava 的功能,没有时间去学习 Guava 的实现.直到最近,我开始阅读…
将逗号分隔的字符串转换为List 方法 1: 利用JDK的Arrays类 [java] view plain copy   ico_fork.svg1.5 KB String str = "a,b,c"; List<String> result = Arrays.asList(str.split(",")); 方法 2: 利用Guava的Splitter [java] view plain copy   ico_fork.svg1.5 KB String…
一.将逗号分隔的字符串转换成List: 1. 使用JDK的Arrays类: import java.util.Arrays; import java.util.List; public class TestList { public static void main(String[] args) { String str = "a,b,c,d"; List<String> list = Arrays.asList(str.split(",")); Sys…
如果程序员想实现某种功能,有两条路可以走.一条就是自己实现,一条就是调用别人的实现,别人的实现就是所谓的API.而且大多数情况下,好多“别人”都实现了这个功能.程序员有不得不在这其中选择.大部分情况下,程序员就会知道哪个用哪个,先看到哪个用哪个.到最后,在实际项目中,同样的功能会调用五花八门的API.我在公司的项目中就看到了这种情况.其实,也无可厚非,我相信好多项目都是这个样子.我们不可能要求程序员都用同一种方法.程序员可能会有不同的好恶.为了让程序员能快乐自由地编程,就随他去吧!因为程序员感觉…
如果程序员想实现某种功能,有两条路可以走.一条就是自己实现,一条就是调用别人的实现,别人的实现就是所谓的API.而且大多数情况下,好多“别人”都 实现了这个功能.程序员有不得不在这其中选择.大部分情况下,程序员就会知道哪个用哪个,先看到哪个用哪个.到最后,在实际项目中,同样的功能会调用五花 八门的API.我在公司的项目中就看到了这种情况.其实,也无可厚非,我相信好多项目都是这个样子.我们不可能要求程序员都用同一种方法.程序员可能会有 不同的好恶.为了让程序员能快乐自由地编程,就随他去吧!因为程序…
将逗号分隔的字符串转换为List 方法 1: 利用JDK的Arrays类 String str = "a,b,c"; List<String> result = Arrays.asList(str.split(",")); 方法 2: 利用Guava的Splitter String str = "a, b, c"; List<String> result = Splitter.on(",").trimR…
将逗号分隔的字符串与List互转 方法 1: 利用JDK的Arrays类String str = "a,b,c";List<String> result = Arrays.asList(str.split(",")); 方法 2: 利用Guava的SplitterString str = "a, b, c";List<String> result = Splitter.on(",").trimResul…
1. org.apache.commons.lang中StringUtils判空使用经验之谈 StringUtils.isEmpty(String str) 判断字符串str是否为空串且是否长度为0,即: str == null  &&  str.length==0 StringUtils.isBlank(String str) 判断字符串str是否为空串且是否长度为0且不由空白符号构成,具体有以下3中情况被过滤掉了: str == null  &&  str.length…
说明:逗号字符串转成数组或者List都是可以的,反过来依然可行:但是如果是List<String>转List<Integer>,基本误解,在Java 7只能for循环,如果在Java 8可以使用Lambda表达式去实现,此处省略实现步骤,近期将开源自定义工具类将包括实现方法. 将逗号分隔的字符串转换为List 方法 1: 利用JDK的Arrays类 String str = "a,b,c"; List<String> result = Arrays.…
格式化输出 //d:是输出整数 //10;表示输出10位整数 //0:表示如果不够10位的话,用0来占位,也可以用写成空格,用空格来占位 String a = String.format("%d%010d",1,1024L); 将逗号分隔的字符串转换为List 1.利用JDK的Arrays类 String str = "a,b,c"; List<String> result = Arrays.asList(str.split(",")…
1.将逗号分隔的字符串转换为List String str = "a,b,c"; List<String> result = Arrays.asList(str.split(",")); 2.将List转换为逗号分隔的字符串 (1) 利用Guava的Joiner List<String> list = new ArrayList<String>();  list.add("a");  list.add(&quo…
如何相互转换逗号分隔的字符串和List ---https://blog.csdn.net/yywusuoweile/article/details/50315377 方法 2: 利用Guava的Joiner List<String> list = new ArrayList<String>(); list.add("a"); list.add("b"); list.add("c"); String str = Joiner…
添加Maven依赖 JoinerTest import com.google.common.base.Joiner; import org.junit.Assert; import org.junit.Test; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; public class JoinerTest { private static final List<String>…
一.Joiner 拼接字符串 1.join 拼接集合中的元素 System.out.println(Joiner.on(";").join(Ints.asList(1,2,3))); //1;2;3 2.skipNullls 过滤null Joiner joiner=Joiner.on(";").skipNulls(); System.out.println(joiner.join("1",null,"22")); //1;2…
Guava 中有一些基础的工具类,如下所列: 1,Joiner 类:根据给定的分隔符把字符串连接到一起.MapJoiner 执行相同的操作,但是针对 Map 的 key 和 value. 2,Splitter 类:与 Joiner 操作相反的类,是根据给定的分隔符,把一个字符串分隔成若个子字符串. 3,CharMatcher,Strings 类:对字符串通用的操作,例如移除字符串的某一部分,字符串匹配等等操作. 4,其他类:针对Object操作的方法,例如 toString 和 hashCode…
另一项经常对字符串的操作就是根据指定的分隔符对字符串进行分隔.我们基本上会使用String.split方法: String testString = "Monday,Tuesday,,Thursday,Friday,,"; // parts is [Monday, Tuesday, , Thursday,Friday] String[] parts = testString.split(","); Splitter 是对 Joiner 相反的操作,具体用法如下: S…