java - 保留数组中的默认值?

标签 java arrays list copy clone

我已经被这个问题困扰了几天,所以经过大量研究和咖啡得出的结论是我需要做一个“深度复制”。显然,在 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/

相关文章:

java - 如果天数差为 x 天,则 Spring MongoDB 查询文档

java - itemStateChanged 和 actionPerformed 问题

java - 如何使用列表随机化 netbeans 中的数组?

Java "no such element exception"

java - 重启 Android Activity 后动画不显示

java - 如何正确扩展Java FilterOutputStream类?

PHP MySQL 插入数组语法

list - LISP 比较板中的元素

python - 如何将 CSV 数据存储在具有字典和列表的嵌套字典中?

.net - 使用 LINQ 从数据集中选择行,其中 RowsID 的列表位于 List<T>