java - 复制数组列表

时间:2012-05-04 23:19:09

标签: 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;

    }

1 个答案:

答案 0 :(得分:5)

您应该使用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);

}