Guava的一些總結

     guava是java API蛋糕上的冰激凌(精華).java

     源碼包的簡單說明: 
  com.google.common.annotations:普通註解類型。 
  com.google.common.base:基本工具類庫和接口。 
  com.google.common.cache:緩存工具包,很是簡單易用且功能強大的JVM內緩存。 
  com.google.common.collect:帶泛型的集合接口擴展和實現,以及工具類,這裏你會發現不少好玩的集合。 
  com.google.common.eventbus:發佈訂閱風格的事件總線。 
  com.google.common.hash: 哈希工具包。 
  com.google.common.io:I/O工具包。 
  com.google.common.math:原始算術類型和超大數的運算工具包。 
  com.google.common.net:網絡工具包。 
  com.google.common.primitives:八種原始類型和無符號類型的靜態工具包。 
  com.google.common.reflect:反射工具包。 
  com.google.common.util.concurrent:多線程工具包。緩存

 

     如今針對每一個包的類如今進行測試。網絡

     com.google.common.base:基本工具類庫和接口        多線程

                                            Ascii:針對ASCII碼的處理,比較實用的方法有:app

                                                     toLowerCase(String param):將傳入的param的字符處理爲小寫。ide

                                                     toUpperCase(String param):將傳入的param的字符處理爲大寫。工具

                                                     truncate(CharSequence seq, int maxLength, String indicator):將seq的字符串截斷銜接上indicatori字符串,使整體字符串長度等於maxLength。若是maxLength小於indicator的長度,報錯IllegalArgumentException.若是maxLength大於seq的長度,則結果即爲seq。測試

public class AsciiOwnTest {
    

     public static void main(String[] args) {
        String test=Ascii.toLowerCase("ZHONG GUO!");
        System.out.println(test);
        test=Ascii.toUpperCase("feng ge");
        System.out.println(test);
        //test=Ascii.truncate("laoshiha", 3, "....");這個會報錯
        //System.out.println(test);
        test=Ascii.truncate("laoshiha", 4, "....");
        System.out.println(test);
        test=Ascii.truncate("laoshiha", 5, "....");
        System.out.println(test);
        test=Ascii.truncate("laoshiha", 6, "....");
        System.out.println(test);
        test=Ascii.truncate("laoshiha", 7, "....");
        System.out.println(test);
        test=Ascii.truncate("laoshiha", 8, "....");
        System.out.println(test);
        test=Ascii.truncate("laoshiha", 9, "....");
        System.out.println(test);
    }
}

結果以下:ui

zhong guo!
FENG GE
....
l....
la....
lao....
laoshiha
laoshiha

                Joiner:用於將容器中的元素進行拼接,這個仍是比較實用。this

                                                        on(String param):按照param來作分隔符。

                                                         join(Iterator<?> part):用來拼接迭代器中的元素,返回一個String類型

                                                         append(A extend appendable,Iterator<?> parts): 在A對象後邊加拼接迭代器中的元素。

public class Test {

     public static void main(String[] args) {
         
         Joiner joiner = Joiner.on(";");
         List<String> lists = new ArrayList<String>();
         lists.add("hhaha");
         lists.add("中國龍");
         System.out.println(joiner.join(lists.iterator()));
         StringBuilder sb = new StringBuilder();
         sb.append("什麼意思?");
          sb =joiner.appendTo(sb, lists);
         System.out.println(sb.toString());
         
    }
hhaha;中國龍
什麼意思?hhaha;中國龍

                 Objects:實體類

                                                           equal(,):校驗兩個對象是否相等.

     public static void main(String[] args) {
         System.out.println(Objects.equal(1,1));
    }
     
true

                                               Splitter:按照某個字符分割一組數據。

                                                      on():分隔符.

                                                      split(CharSequence param):分割的數據.

public class Test {

     public static void main(String[] args) {
         Iterator<String> it = Splitter.on(",").split("wo,xiang,ni").iterator();
         while(it.hasNext()){
             System.out.println(it.next());
         }
    }
     
}

結果:    

wo
xiang
ni

                                               ComparisonChain:執行比較操做直至發現非零的結果,在那以後的比較輸入將被忽略。

 

 class TestCompare implements Comparable<TestCompare>{
         
         private String hehe;
         
         private int heihei;

        public String getHehe() {
            return hehe;
        }
        public void setHehe(String hehe) {
            this.hehe = hehe;
        }

        @Override
        public int compareTo(TestCompare t) {
            return ComparisonChain.start()
                    .compare(this.hehe, t.hehe)
                    .compare(this.heihei, t.heihei)
                    .result();
        }

         
     }
相關文章
相關標籤/搜索