我想在構建器構造函數中複製byte []數組的ArrayList。我想將arrayLst1複製到arrayLst2。我試着用這個代碼做:聲明ArrayList的byte []數組副本的錯誤返回欺騙性錯誤消息,說使用迭代器
builder.arrayLst2.forEach(item->this.arrayLst1.add(item));
,但我得到了以下錯誤:
Exception in thread "main" java.util.ConcurrentModificationException
所以谷歌使我迭代here,here和here所以我想這個代碼(以及其他變化) 。
for (Iterator itr = builder.arrayLst1.iterator(); itr.hasNext();) {
this.arrayLst2.add(itr.next());
}
第二行給出錯誤消息「找不到添加方法的合適方法」。
我已經沿着線嘗試:
Iterator itr = this.arrayLst.iterator();
builder.arrayLst2.forEach(item->itr.next() );
,但我無法弄清楚如何逐步通過第一陣列1和使用迭代器添加/複製到數組2。
如何克隆一個ArrayList byte []到另一個?我確信必須有一個簡單的解決方案,但我找不到它。
編輯:聲明錯誤實際上意味着arraylist沒有聲明。編譯器錯誤消息指出需要使用迭代器,而不是這樣說。
你可以添加arrayLst1和arrayLst2的聲明嗎? –
嗨。我已經聲明瞭兩個變量,我只是沒有在代碼片段中顯示。 – dazz
這就是爲什麼你被要求在代碼片段中顯示它們的原因。發佈一個完整的最小示例。您在發佈的代碼中處處都使用原始類型。不要這樣做。從Java 5開始,泛型就存在了。我們在Java 9中。 –