0
我已閱讀What's the reason I can't create generic array types in Java?。我來到了,當我嘗試這種代碼:Array with泛型
HashMap<String, String>[] ret = new HashMap<String, String>[arraySize];
我決定「GET WILD」,並嘗試別的東西
ArrayList<HashMap<String, String>> ret = new ArrayList<HashMap<String, String>>();
現在,我不明白的是,爲什麼第一個選項是壞/不支持,第二個選項編譯。
我錯過了什麼?在第一種方法中,我得到一個錯誤,無法編譯,而第二種方法沒有編譯器問題。
我更喜歡遵循智能編程原則,但不瞭解這種特殊情況下的差異。
'ArrayList'不是一個數組。或者更好的是,一個隨機的泛型類型不是一個數組(忘記它被稱爲'ArrayList',它只是另一種類型)。 –
ty,但它確實允許我擁有這些對象的數組本身。也許這是我困惑的地方? –
如果需要,您可以查看底層的實現。 'ArrayList'使用'Object []'。 –