是否有可能將兩個ArrayLists的數組初始化爲Java中的類字段?Java:在一行中初始化兩個ArrayList的數組
現在我有以下。在域聲明:
public ArrayList someArray[] = new ArrayList[2];
和方法後來在一個實際的分配:
someArray[0] = new ArrayList<String>();
someArray[1] = new ArrayList<String>();
是否有可能將兩個ArrayLists的數組初始化爲Java中的類字段?Java:在一行中初始化兩個ArrayList的數組
現在我有以下。在域聲明:
public ArrayList someArray[] = new ArrayList[2];
和方法後來在一個實際的分配:
someArray[0] = new ArrayList<String>();
someArray[1] = new ArrayList<String>();
這是可以做到:
public ArrayList<String[]>[]
someArray = new ArrayList[] {new ArrayList<String[]>(),new ArrayList<String[]>()};
編輯澄清OP之後。
由於某些原因,這不起作用。 – TranslucentCloud
@TranslucentCloud什麼不行?注意它是'new ArrayList []',而不是'new ArrayList
如果我是正確的,那是因爲你不能創建一個鍵入對象的數組。在這裏,您正在嘗試執行'ArrayList
試試這個:
public ArrayList[] arrayOfArrayLists = new ArrayList[]{new ArrayList<String>() , new ArrayList<String>()};
這工作。謝謝。 – TranslucentCloud
強烈建議不要使用原始類型,如JLS所述 - 「原始類型的使用僅允許作爲遺留代碼兼容性的讓步。強烈建議在將泛型引入Java編程語言之後編寫的代碼中使用原始類型。未來版本的Java編程語言可能會禁止使用原始類型 – Eran
使用'for'循環。 – Satya
是的,它可以完成!你的代碼看起來正確。數組只保存其中對象的引用,所以對象本身可以是任何東西 –