Java編程界裡google輪子跑的又快又安全,幹嘛不用呢

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

比較下輸入結果

Java編程界裡google輪子跑的又快又安全,幹嘛不用呢

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


分享到:


相關文章: