Java将二维数组分配给三维数组

时间:2017-02-22 12:46:27

标签: java arrays

我有以下似乎编译的代码:

int[] arr = {1, 2};
int[][] arr2 = {arr, {1, 2}, arr};
int[][][] arr3 = {arr2};

你能解释为什么最后的陈述有效吗?我们不是要在这里将二维数组分配给三维数组吗?

由于

1 个答案:

答案 0 :(得分:2)

  

我们不是要在这里将二维数组分配给三维数组吗?

如果你这样做,你是对的

position: absolute

但是你在这里做的 int[][][] arr3 = arr2; 并没有分配。您正在创建包含元素的数组。

添加元素并分配引用是两回事。

这是有效的,因为在名为int[][][] arr3 = {arr2};的数组中,您在第0行和第0列有一个2D数组,这很好。

Inshort

arr3

等于

int[][][] arr3 = {arr2};