Guava用法(一)html
前置條件檢查:checkArgument,checkElementIndex,checkPositionIndexes幾個比較有用的方法使用。java
import com.google.common.base.Preconditions; public class PreconditionsExplained { public static void main(String args[]){ PreconditionsExplained pe=new PreconditionsExplained(); pe.method1(); pe.method2(); pe.method3(); } public void method1(){ int i=0; Preconditions.checkArgument(i>0,"this number %s is error",i); } public void method2(){ Preconditions.checkElementIndex(2, 1); } public void method3(){ Preconditions.checkPositionIndexes(0,2,3); } }
ComparisonChain鏈式比較器,減小了部分if/else的循環git
public class ComparisonChainTest { public static void main(String args[]){ ComparisonChainTest ct=new ComparisonChainTest(); System.out.println(ct.method1()); } public int method1(){ return ComparisonChain.start() .compare(1,1,new Sort()) .compare(4.0,3.0) .result(); } //對一個方法比較的重寫 class Sort<Integer> implements Comparator<java.lang.Integer>{ public int compare(java.lang.Integer o1, java.lang.Integer o2) { return -1; } } }
Java,多個鍵作索引的時候,你可能會用相似Map<FirstName, Map<LastName, Person>>的實現,這種方式很醜陋,使用上也不友好。Guava爲此提供了新集合類型Table,它有兩個支持全部類型的鍵:」行」和」列」。this
public class TableTest { public static void main(String args[]){ ArrayTable<String, Integer, Character> table = ArrayTable.create(asList("foo", "bar", "cat"), asList(1, 2, 3)); table.put("foo",1,'c'); System.out.println(table.get("foo",1));//result:c } }
對於用過的一些進行簡單的記錄google