[問題] 關於泛型 lists.newArrayList

看板java作者 (有點寂寞 有點空)時間10年前 (2015/06/02 14:13), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串1/1
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

06/02 14:24, , 1F
定義泛型參數,後面是把這個參數用在回傳型別裡
06/02 14:24, 1F

06/02 14:26, , 2F
用這個method的時候就要帶入一個實際型別給這個參數,但是
06/02 14:26, 2F

06/02 14:27, , 3F
compiler可以從用到的地方推出帶入的型別時可省略
06/02 14:27, 3F

06/02 14:33, , 4F
現在可以用這樣寫 new ArrayList<>();
06/02 14:33, 4F

06/02 15:55, , 5F
謝謝解惑,所以是compiler幫忙做判斷的....
06/02 15:55, 5F
文章代碼(AID): #1LRKcNw- (java)
文章代碼(AID): #1LRKcNw- (java)