我已经被困了几天了,所以经过大量的研究和咖啡得出的结论是我需要做一个深刻的复制'。显然在Java中,你不能复制一个对象,因为你只是复制对象的引用,所以你总是最终修改对象本身。
从对象(它是Android计时器应用程序)中提取Integer数组的最佳方法是什么,然后将这些时间保留在某个位置,以便用户可以重置'任何时候的时间,用默认时间重新填充列表。
最好从对象中获取副本并使用它们而不是修改对象,然后在需要时使用该对象重新获取默认时间?
答案 0 :(得分:1)
试试这个:
public static void main(String[] args) {
List<Integer> times = new ArrayList<Integer>();
times.add(1);
times.add(2);
times.add(3);
List<Integer> timesCopy = new ArrayList<Integer>(times);
timesCopy.remove(0);
System.out.println(times);
System.out.println(timesCopy);
}
timesCopy
已被修改,但times
仍处于开始状态。