作者superston (有點寂寞 有點空)
看板java
標題[問題] 關於泛型 lists.newArrayList
時間Tue Jun 2 14:13:41 2015
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> 代表的意思是??
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.134.59
※ 文章網址: https://www.ptt.cc/bbs/java/M.1433225623.A.EBE.html
→ ssccg: 定義泛型參數,後面是把這個參數用在回傳型別裡 06/02 14:24
→ ssccg: 用這個method的時候就要帶入一個實際型別給這個參數,但是 06/02 14:26
→ ssccg: compiler可以從用到的地方推出帶入的型別時可省略 06/02 14:27
推 LaPass: 現在可以用這樣寫 new ArrayList<>(); 06/02 14:33
→ superston: 謝謝解惑,所以是compiler幫忙做判斷的.... 06/02 15:55