2016-03-04 37 views
0

我在JAVA初級水平,目的背後宣佈ArrayList的雙人牀或任何

我已經看到了一些Java代碼一直是這樣:

ArrayList<Double> aldb = new ArrayList<Double>(); 

由於ArrayList的是均質集合體,使之均勻我們是否需要用數據類型創建,或者還有其他可能的可能性?

只是爲了理解大師的觀點。

預先感謝您。

+1

如果有人正在做'ArrayList aldb = new ArrayList();',那麼他們會被卡在Java 1.4中。 Java 5添加了*泛型*,並且在處理集合時應始終使用泛型,例如如果你想讓列表包含'double'值,你寫'ArrayList aldb = new ArrayList ();',這是一個同類列表,因爲它只能存儲'Double'值 – Andreas

+0

很難準確地說出什麼代碼看起來像,但'ArrayList '是不允許的,因爲'double'不是一個類,而是一個原始類型。 'ArrayList '將是正確的。另外,如果您真的想要一個可以包含任何類型的異構列表,請使用'ArrayList '。除非絕對必要,否則不要使用原始'ArrayList'類型(不帶'<>'),這可能永遠不會。 – ajb

回答

3

看看Java中的泛型。這允許你指定一個特定的類型。 http://tutorials.jenkov.com/java-generics/index.html

ArrayList<String> aldb = new ArrayList<String>(); 

如果您嘗試添加字符串比其他任何物體在這種情況下,那麼這將是一個編譯器錯誤。字符串只是一個例子,你可以指定你想要的任何類型。