它可能是一个非常简单的,但它仍然让我感到困惑!
import java.util.ArrayList;
public class Sample {
ArrayList<Integer> i = new ArrayList<>();
ArrayList<Integer> j = new ArrayList<>();
/**
* @param args
*/
public static void main(String[] args) {
new Sample().go();
}
private void go() {
i.add(1);
i.add(2);
i.add(3);
j=i;
i.remove(0);
System.out.println(i + "asd" + j);
}
}
我试图打印它:
[2, 3]asd[2, 3]
为什么当 i 改变时 j 会改变?但是,原语不会发生!