将数组的元素分配给另一个数组

Fur*_*taş 0 java arrays

public class Test {
    public static void main(String[] args) {
        int[] a = new int[] {1, 2, 3, 4, 5};
        int[] b = new int[4];
        b=a;

        for (int x : b)
            System.out.print(x);
    }
}
Run Code Online (Sandbox Code Playgroud)

b数组可以占用4个元素,但是我将5个a数组元素插入b中.输出是1,2,3,4,5.这怎么可能在Java?

Gri*_*Dog 6

a并且b参考变量.初始化后你实际上有这样的事情:

a - > [1,2,3,4,5]

b - > [0,0,0,0]

当你这样做b=a,你只是重新分配b来引用数组a的引用,而数组b 与所有不再引用初始化.所以,你现在有:

(a和b) - > [1,2,3,4,5]