java - 复制数组列表

标签 java arraylist deep-copy

所以我知道下面的方法会导致两个变量指向同一个对象,但如果我确实想找到最简单的方法使 ArrayList s2 与 s1 完全相同,我该怎么做?

public static void main(String[] args) {

        ArrayList<String> s1 = new ArrayList<String>();
        for (int i = 1; i <= 3; i++) {
            s1.add(""+i);
        }
        ArrayList<String> s2 = s1;

    }

最佳答案

您应该使用 s1 作为参数创建 s2。

public static void main(String[] args) {

    ArrayList<String> s1 = new ArrayList<String>();
    for (int i = 1; i <= 3; i++) {
        s1.add(""+i);
    }
    ArrayList<String> s2 = new ArrayList<String>(s1);

}

关于java - 复制数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10457302/

相关文章:

java - 这个程序是递归的吗?如果没有,我如何使它递归?

java - 无法使用java打印不同数据类型的arraylist

android - 如何在 AlertDialog 中显示数组列表

c++ - 模板化线性代数 vector 类中出现奇怪的 "Member function not viable"错误

C编程。如何深拷贝结构?

java - 使用 JAXB 2.0 忽略 XML 中的一些包装器标记

java - 创建 map 集合以查找文本中出现的单词并对它们求和

c# - 搜索 ArrayList 包含除两个提及值之外的任何其他值

java - 了解有效的 Java 深拷贝示例

java - 具有多个条件的 String.equals()(以及对结果的一项操作)