我有一个类,它的构造函数中包含一个对象列表,List<Object>.每次列表可以由不同类型的元素组成.这是通用的,我不知道他们的类类型是什么.
在让用户更改其值之前,我想保存自己的列表副本.但由于副本是通过引用完成的,因此两个列表(原始和副本)都在更改...
如何按值复制列表?
谢谢,Devora
您需要创建一个新列表List,然后将原始列表中每个元素的克隆添加到其中。
List<Object> copy = new ArrayList<Object>(inputList.size());
for (Object item : inputList) {
copy.add(item.clone());
}
Run Code Online (Sandbox Code Playgroud)
显然,您需要检查列表中的对象是否正确,Cloneable否则它们将无法正确复制。
| 归档时间: |
|
| 查看次数: |
4251 次 |
| 最近记录: |