【发布时间】:2019-03-04 21:40:47
【问题描述】:
我正在尝试将 ArrayList 的内容从一个 Book 对象传输到另一个 Book 对象。该方法将被称为
bookA.transfer(bookB);
但是,使用下面的代码,我收到一条错误消息“java.util.ConcurrentModificationException”,并在“for(String page: pages) {”行显示问题。这两个对象都有一个名为 pages 的 ArrayList,当我将一个用作“pages.get(...)”(这是调用该方法的对象)和“other. pages.get(...)" 这是作为参数传递的对象,用于传输其内容。这是这样做的正确方法吗?还是我在其他地方出错了?
public class Book {
ArrayList<String> pages;
public Book ()
{
pages = new ArrayList<String>();
}
public void transfer(Book other) {
int i = 0;
for(String page: pages) {
String temp = other.pages.get(i);
pages.add(temp);
other.pages.remove(i);
i++;
}
System.out.println("Book" + pages);
System.out.println("Book" + other.pages);
}
*另一个问题是关于使用我不是的迭代器类。
【问题讨论】:
标签: java string object arraylist methods