Guava用法(一)

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

相关文章
相关标签/搜索