代码:
private void Fundc(Byte[] bytes)
{
ArrayList<Byte> dataCollection = new ArrayList<Byte>(1024);
dataCollection.addAll(bytes); // **error ... can't understand why**
}
为什么我不能将字节数组添加到我的ArrayList中?
答案 0 :(得分:3)
Arrays!= ArrayLists
试试这个:
dataCollection.addAll(Arrays.asList(bytes));
答案 1 :(得分:2)
因为ArrayList#addAll(Collection<? extends E> c)
需要集合作为输入。字节数组Byte[] bytes
不是集合,您需要使用解决方案1或解决方案2:
以下是代码:
// solution 1: add each of them
for (Byte byte : bytes) {
dataCollection.add(byte);
}
// solution 2: add them all
dataCollection.addAll(Arrays.asList(bytes));
答案 2 :(得分:1)
因为您尝试添加数组而不是 ArrayList 。 你应该这样做:
dataCollection.addAll(Arrays.asList(bytes));