我目前正在學習Java OCA考試,並且遇到了有關ArrayList聲明的問題。Java ArrayList聲明
下列哪項是有效的?:
1. ArrayList al1 = new ArrayList(); 2. ArrayList al2 = new ArrayList<>(); 3. ArrayList<> al3 = new ArrayList<>(); 4. ArrayList<Double> al4 = new ArrayList<>(); 5. ArrayList<Double> al5 = new ArrayList<Float>();
根據我的書,回答了1,2和4是有效的。答案3和5是無效的。
但是,沒有給出適當的解釋。它所做的就是顯示的是標準的方法來聲明一個ArrayList:
ArrayList<E> al3 = new ArrayList<E>();
,並提到它也是有效申報的ArrayList沒有通用部分。
我也無法在線找到有關此主題的體面文章。有人能解釋一下(或者指出一篇好文章的方向)上面的不同排列嗎?
在此先感謝。
一些仿製藥正在被SO格式化。 – Vlad 2013-03-01 10:37:43
感謝我讓我感到非常困惑:P – cowls 2013-03-01 10:40:26
關於3,'<>'被稱爲'鑽石運算符'並且被引入'java7'。它是安裝通用對象的捷徑,所以在使用'new'時不必再次指定類型,因爲它已經在變量聲明中指定。 – A4L 2013-03-01 10:41:48