慕桂英3389331
2019-03-14 14:15:08
Arrays.asList 可以用在對象上,但基本類型就出錯了。byte b[]=new byte[3];b[0]=1;b[1]=2;b[2]=3;ArrayList<Byte>bytes=new ArrayList<Byte>();bytes.addAll(Arrays.asList(b));這個提示錯誤我想讓 byte[] 數(shù)組 轉(zhuǎn)換成 ArrayList ,這個可以實現(xiàn)么?還是需要先轉(zhuǎn)換成 Byte[] 數(shù)組 再轉(zhuǎn)換成 byte[] 才能實現(xiàn)呢?
1 回答

藍山帝景
TA貢獻1843條經(jīng)驗 獲得超7個贊
怎么簡單,怎么來。java自動裝箱。
for(int i=0;i<b.length;i++){
bytes.add(b[i]);
}
最新補充
最近用了下Arrays.asList()發(fā)現(xiàn)其參數(shù)如果是基本類型數(shù)組的話,是這么報錯的;
Multiple markers at this line
- The method addAll(Collection<? extends Byte>) in the type ArrayList<Byte> is not applicable for the arguments
(List<byte[]>)
也就是說,它把基本類型數(shù)組當(dāng)成是一個List<type[]>,即當(dāng)成一個整體的對象了。
另外一種改法就是把byte[]改成Byte[],這樣就可以正常運行了,也就是說asList()接收的參數(shù)應(yīng)該是一個對象數(shù)組;
如果參數(shù)是基本類型數(shù)組,會被當(dāng)做是只有一個元素的對象數(shù)組(即該元素是一個基本類型數(shù)組)。
添加回答
舉報
0/150
提交
取消