代码:为什么我不能使用ArrayList的addAll方法?
private void Fundc(Byte[] bytes)
{
ArrayList<Byte> dataCollection = new ArrayList<Byte>(1024);
dataCollection.addAll(bytes); // **error ... can't understand why**
}
为什么我的字节数组不能添加到我的ArrayList?
代码:为什么我不能使用ArrayList的addAll方法?
private void Fundc(Byte[] bytes)
{
ArrayList<Byte> dataCollection = new ArrayList<Byte>(1024);
dataCollection.addAll(bytes); // **error ... can't understand why**
}
为什么我的字节数组不能添加到我的ArrayList?
阵列=的ArrayList
试试这个:
dataCollection.addAll(Arrays.asList(bytes));
因为你尝试添加阵列代替的ArrayList的。 你应该这样做:
dataCollection.addAll(Arrays.asList(bytes));
因为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));