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