我知道标题具有误导性,但这是我能做的最好的。这是我的情况
public static ArrayList<Monster> wave = new ArrayList<Monster>();
public static ArrayList<ArrayList<Monster>> waves = new ArrayList<ArrayList<Monster>>();
...
for(int i = 0; i < 2; i++){
while(condition){
//Add elements to the wave ArrayList
}
waves.add(wave); //IMPORTANT
wave.clear(); //LINES
}
所以这是我的问题;当我将 wave 添加到 wave ArrayList 时,它会在内存中创建它的副本,还是实际上会将内存中的确切 wave 传递给新的 ArrayList?我要问的原因是,恐怕,在添加后清除 wave ArrayList 可能会导致 wave ArrayList 中的数据丢失