我想爲3個ArrayLists定義一個數組,每個ArrayLists都包含一個雙數組。我用以下語法:陣列ArrayList數組的Java泛型未選中轉換警告
ArrayList<double[]> testSamples[] = new ArrayList[] {
new ArrayList<double[]>(), new ArrayList<double[]>(), new ArrayList<double[]>()
};
然而這產生一個「警告:未經檢查]未經檢查的轉換」警告,當我編譯代碼。 注意:代碼正常工作,我只是試圖解決我的語法(正確)解決警告。由於代碼的工作,它似乎是由Java的支持,我感到困惑,爲什麼我不能寫類似(這將產生一個編譯錯誤):
ArrayList<double[]> testSamples[] = new ArrayList<double[]>[] {
new ArrayList<double[]>(), new ArrayList<double[]>(), new ArrayList<double[]>()
};
我在做什麼錯?
是的,它編譯並運行正常,但編譯器輸出給定的警告。 –
您不能創建一個參數化類型的數組。查看這篇文章http://stackoverflow.com/q/18581002/1679863進一步的解釋。 –
'ArrayList',需要''double'類型,由幾個'ArrayList'類型初始化? – christopher