4

所以我知道下面的方法会导致两个变量指向同一个对象,但如果我确实想找到最简单的方法让 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;

    }
4

1 回答 1

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);

}
于 2012-05-04T23:20:22.240 回答