我是Java程序员我用google的guava包我骄傲
google万能工具
com.google.guava
guava
17.0
Splitter
业务代码中字符拆分
- omitEmptyStrings 过滤空字符
- trimResults 过滤字符前后的空字符
List list=Splitter.on(",").splitToList("aaa, bbb ,ccc,,,");
System.out.println("不完美:" + list);
//-----------------分割线----------------------------
List list2=Splitter.on(",").omitEmptyStrings().trimResults()
.splitToList("aaa, bbb ,ccc,,,");
System.out.println("完美:" + list2);
比较下输入结果
Joiner
List names=Lists.newArrayList("a","b","c",null);
System.out.println(Joiner.on(",").skipNulls().join(names));
输出,完美过滤null
a,b,c
Strings
防NPE利器
System.out.println("nullToEmpty:"+Strings.nullToEmpty(null));
ImmutableSet
不可变的集合,初始化数据非常安全,不怕乱改
public static Set operates= new ImmutableSet.Builder()
.add("ADD")
.add("MODIFY")
.add("DELE")
.add("QUERY").build();
set的交差并集
业务代码很方便
HashSet setF = Sets.newHashSet(1, 2, 3);
HashSet setT = Sets.newHashSet(3, 4, 5);
//并集:结果【1,2,3,4,5】
Sets.SetView union = Sets.union(setF, setT);
//差集:返回只存在于setF独有的数据, 结果【1,2】
Sets.SetView difference = Sets.difference(setF, setT);
//交集:结果【3】
Sets.SetView intersection = Sets.intersection(setF, setT);
输出
if(intersection.size()>0){
System.out.println("有交集元素");
}else{
System.out.println("无交集元素");
}
System.out.println("并集:");
for (Integer integer : union) {
System.out.println(integer);
}
System.out.println("差集:");
for (Integer integer : difference) {
System.out.println(integer);
}
System.out.println("交集:");
for (Integer integer : intersection) {
System.out.println(integer);
}
1
1
Preconditions
异常严重工具
Preconditions.checkArgument(StringUtil.isNotBlank(outerWhiteListId), "白名单Id为空");
1
1