我已经被这个问题困扰了几天,所以经过大量研究和咖啡得出的结论是我需要做一个“深度复制”。显然,在 Java 中,您无法复制对象,因为您只是复制对象的引用,因此最终总是会修改对象本身。
从对象(它是一个 Android 计时器应用程序)中提取时间整数数组,然后将这些时间保存在某个地方,以便用户可以随时“重置”时间,重新填充列表的最佳方法是什么默认时间。
从对象中获取副本并使用它们而不是修改对象,然后在需要时使用该对象重新获取默认时间可能会更好?
最佳答案
试试这个:
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
仍与开始时相同。
关于java - 保留数组中的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22735076/