【发布时间】:2014-06-15 19:23:46
【问题描述】:
我有包含 5 个字段的 Customer 类。
我在 ArrayList
public void copy( ArrayList<Customer> a, ArrayList<Customer> b){
for (int i=0;i<a.size();i++){ b.add(a.get(0)); } }
问题是如果我更改了 secondlist 实例,它也会因为引用而更改 firstlist 实例..
如何将 firstlist 实例复制到 secondlist 以便当我更改 secondlist 实例时它不会影响到 firtlist 实例(自身的副本)。有什么方法可以做到吗?
【问题讨论】:
-
Customer 类的
Copy Constructor怎么样?创建一个新的客户实例。类似的东西public Customer(Customer c){...} -
改成
b.add(new Customer(a.get(0)); -
你必须创建一个deep copy of your list
-
@Braj 你假设
Customer类有这样的构造函数,但这在问题的任何地方都没有说明。 -
@LuiggiMendoza 我提出了一些建议。