我一直在我的一个项目中使用 ArrayLists,我需要创建一个默认的 ArrayList,这样我就可以随时重置原始的。所以,我复制了原始的 ArrayList 来创建默认的。但是,每当我修改原始文件时,它也会更改默认值。如何使副本“静态”且不可更改?
这是我的代码:(它是葡萄牙语)
private ArrayList<Compartimento> listaCompartimentos;
private ArrayList<Compartimento> listaCompartimentosDEFAULT;
public Simulador() {
this.listaCompartimentos = new ArrayList<>();
this.listaCompartimentosDEFAULT=new ArrayList<>();
}
//Copy of the array
public void gravarListaDefault(){
this.listaCompartimentosDEFAULT=(ArrayList<Compartimento>)listaCompartimentos.clone();
}
注意:我不知道这是否是它背后的原因,但 ArrayList listaCompartimentos 有一个 listaEquipamentos。对于每个“Compartimento”,都有一个 ArrayList“listaEquipamentos”。