保持数组的默认值?

时间:2014-03-29 18:27:59

标签: java arrays list copy clone

我已经被困了几天了,所以经过大量的研究和咖啡得出的结论是我需要做一个深刻的复制'。显然在Java中,你不能复制一个对象,因为你只是复制对象的引用,所以你总是最终修改对象本身。

从对象(它是Android计时器应用程序)中提取Integer数组的最佳方法是什么,然后将这些时间保留在某个位置,以便用户可以重置'任何时候的时间,用默认时间重新填充列表。

最好从对象中获取副本并使用它们而不是修改对象,然后在需要时使用该对象重新获取默认时间?

1 个答案:

答案 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仍处于开始状态。