Как скопировать список в другой список и внести изменения в объекты, содержащиеся в новом списке, не затрагивая объекты в старом списке?Как скопировать arraylist, чтобы не отражать изменения в исходном списке?
class Foo {
String title;
void setTitle(String title) { this.title = title; }
}
List<Foo> original;
List<Foo> newlist = new ArrayList<Foo>(original);
for (Foo foo : newlist) {
foo.setTitle("test"); //this will also affect the objects in original list.
//how can I avoid this?
}
Вы должны были бы клонировать объекты в исходном списке и добавить их в новый список – MadProgrammer
можно клонировать, но он может не решение , попробуйте найти «глубокую копию» и «мелкую копию» – ogzd