[問題] 關於泛型 lists.newArrayList

作者: superston (有點寂寞 有點空)   2015-06-02 14:13:41
Lists 是google 開發的一個類別
其中有一個static method source Code 如下
public static <E> ArrayList<E> newArrayList() {
return new ArrayList<E>();
}
使用上如果我需要宣告一個
通常會這樣寫
List<myObj> myList = new ArrayList<myObj>();
但使用 Lists google 開發的API 只需要這樣寫
List<myObj> myList = Lists.newArrayList(); //就可以了
執行到這段時 會自動配好型態指定為 myObj的list給myList
也就是說可以讓程式碼看起來乾淨不少。
這邊想請教一下 關於這個method 泛型的知識
public static <E> ArrayList<E> newArrayList()
有兩個<E> 我想知道 第一個 <E> 代表的意思是??
感謝
作者: ssccg (23)   2015-06-02 14:24:00
定義泛型參數,後面是把這個參數用在回傳型別裡用這個method的時候就要帶入一個實際型別給這個參數,但是compiler可以從用到的地方推出帶入的型別時可省略
作者: LaPass (LaPass)   2015-06-02 14:33:00
現在可以用這樣寫 new ArrayList<>();
作者: superston (有點寂寞 有點空)   2015-06-02 15:55:00
謝謝解惑,所以是compiler幫忙做判斷的....

Links booklink

Contact Us: admin [ a t ] ucptt.com