我有一個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() –