Tim*_*Tim 4 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;
}
Run Code Online (Sandbox Code Playgroud)
您应该使用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);
}
Run Code Online (Sandbox Code Playgroud)