小编Abh*_*hek的帖子

将一个对象复制到另一个对象会在java中产生不同的结果

public static void main(String[] args) {
    Integer a = 1;
    Integer b = 0;
    b=a;
    System.out.println(a);
    System.out.println(b);
    ++a;
    System.out.println(a);
    System.out.println(b);
}
Run Code Online (Sandbox Code Playgroud)

输出:1 1 2 1

public static void main(String[] args) {
    ArrayList<Integer> a = new ArrayList<Integer>();
    ArrayList<Integer> b = new ArrayList<Integer>();
    a.add(1);
    a.add(1);
    a.add(1);
    a.add(1);
    b=a;
    System.out.println(a.size());
    System.out.println(b.size());
    b.add(2);
    System.out.println(a.size());
    System.out.println(b.size());
}
Run Code Online (Sandbox Code Playgroud)

输出:4 4 5 5

对于上面的代码,为什么两个对象都不是指同一个内存位置.

java

5
推荐指数
1
解决办法
99
查看次数

标签 统计

java ×1