java - 仅将 ArrayList 作为值而不是引用传递

标签 java reference arraylist pass-by-reference

简单地说,我有一个带有 ArrayList 参数的方法。在该方法中,我修改 ArrayList 的内容仅与该方法返回的内容相关。因此,我不希望作为参数传递的 ArrayList 受到影响(即不作为引用传递)。

我尝试的一切都未能达到预期的效果。我需要做什么才能仅在方法中使用 ArrayList 的副本,而不是让它更改实际变量?

最佳答案

即使您有办法将数组列表作为副本而不是通过引用传递,它也只是一个浅拷贝。

我会这样做:

void foo(final ArrayList list) {

    ArrayList listCopy = new ArrayList(list);
    // Rest of the code

}

只需在复制的列表上工作。

关于java - 仅将 ArrayList 作为值而不是引用传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15778645/

相关文章:

c++ - 引用成员的初始化需要一个临时变量

Eclipse Europa 搜索引用功能停止工作

c++ - 为什么当我没有为它分配新值时,变量的值会改变?

java - 是否可以创建一个包含 arraylist 对象的常规数组?

java - 在java中映射2枚举

java - 线程等待一组异步任务完成

java - 接口(interface)的静态字段和最终字段的含义

java - TeamCity-删除自动添加的命令行参数?

java - 如何在自定义的数组列表中进行搜索?

Java - 使用递归填充ArrayList