我有一个String ArrayList
,让我们说originalArrayList
一些值如何更改ArrayList中的元素而不影响原始副本?
final ArrayList<String> originalArrayList = new ArrayList<>();
originalArrayList.add("value1");
originalArrayList.add("value2");
originalArrayList.add("value3");
originalArrayList.add("value4");
originalArrayList.add("value5");
我内部类中复制此originalArrayList
并删除了一些元素
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ArrayList<String> tempArrayList = originalArrayList;
tempArrayList.remove(0); //Remove an element
}
});
但这影响原ArrayList
这是originalArrayList
在我的情况。
我该如何防止这种情况发生?
克隆它的https ://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html#clone() –