我試圖pre[1]通過使用為新列表賦值List <Integer> list = new ArrayList(pre[1]);,但我得到的是一個空列表。當我將其分為 2 個步驟時:首先創建一個空的list1,然后添加pre[1]到我的list1,它起作用了:list1包含2.誰能告訴我為什么?我期待著同樣的結果。我在想List <Integer> list = new ArrayList(pre[1]);正在創建一個列表,并將值初始化為pre[1],但是沒有用,這是什么問題?int[] pre =new int []{1,2,3};List <Integer> list = new ArrayList(pre[1]);List <Integer> list1 = new ArrayList();list1.add(pre[1]);
2 回答

www說
TA貢獻1775條經驗 獲得超8個贊
請閱讀的構造函數文檔ArrayList
。
TL;DR:沒有構造函數接收初始化ArrayList
應包含的新元素。
您正在調用的構造函數是接收整數作為參數的構造函數,其容量根據參數(即pre[1]
或2
您的情況)定義。

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
的構造函數ArrayList
接收的initialCapacity
不是元素。因此,在您的情況下,您正在創建帶有initialCapacity
2 的列表,即 pre[1]。
public ArrayList(int initialCapacity)
List.of
您可能想在 java9 中嘗試
List.of(pre[1], pre[2]);
添加回答
舉報
0/150
提交
取消