代碼:爲什麼我不能使用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));