Guava用法(一)

原创
2016/12/26 22:23
阅读数 120

Guava用法(一)

    前置条件检查:checkArgument,checkElementIndex,checkPositionIndexes几个比较有用的方法使用。

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的循环

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,它有两个支持所有类型的键:”行”和”列”。

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
    }
}

    对于用过的一些进行简单的记录

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部