我試圖pre[1]通過(guò)使用為新列表賦值List <Integer> list = new ArrayList(pre[1]);,但我得到的是一個(gè)空列表。當(dāng)我將其分為 2 個(gè)步驟時(shí):首先創(chuàng)建一個(gè)空的list1,然后添加pre[1]到我的list1,它起作用了:list1包含2.誰(shuí)能告訴我為什么?我期待著同樣的結(jié)果。我在想List <Integer> list = new ArrayList(pre[1]);正在創(chuàng)建一個(gè)列表,并將值初始化為pre[1],但是沒(méi)有用,這是什么問(wèn)題?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說(shuō)
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超8個(gè)贊
請(qǐng)閱讀的構(gòu)造函數(shù)文檔ArrayList
。
TL;DR:沒(méi)有構(gòu)造函數(shù)接收初始化ArrayList
應(yīng)包含的新元素。
您正在調(diào)用的構(gòu)造函數(shù)是接收整數(shù)作為參數(shù)的構(gòu)造函數(shù),其容量根據(jù)參數(shù)(即pre[1]
或2
您的情況)定義。

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