如何在一个arraylist中复制一行并将其附加到同一个arraylist中?

时间:2015-10-22 13:57:41

标签: java arraylist copy

我面临的问题是我有一个由不同行组成的arraylist。现在我要复制一行并将其附加到相同的arraylist中。现在,如果我更改任一行中的值,它会反映在两行中我不想要这样。我已经有用户

  

orderList.add(订单)

但它没有按照我想要的方式工作。还有其他办法吗?

1 个答案:

答案 0 :(得分:1)

您可能正在修改该对象。在您阅读列表之前,请创建该行的新实例并复制该值。

  

不要将新分配的内存的引用分配给上一行。

例如

MyObj row = arrList.get(1);

现在,如果您将其添加到列表中,如下所示

arrList.add ( row ) ;
  

然后对row的任何更改都将修改列表中的两个元素。

相反

MyObj newObj = new MyObj ( row );
arrList.add ( newObj ) ;
  

现在您可以单独更改任何对象。

相关问题