我是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