我有以下似乎编译的代码:
int[] arr = {1, 2};
int[][] arr2 = {arr, {1, 2}, arr};
int[][][] arr3 = {arr2};
你能解释为什么最后的陈述有效吗?我们不是要在这里将二维数组分配给三维数组吗?
由于
答案 0 :(得分:2)
我们不是要在这里将二维数组分配给三维数组吗?
如果你这样做,你是对的
position: absolute
但是你在这里做的 int[][][] arr3 = arr2;
并没有分配。您正在创建包含元素的数组。
添加元素并分配引用是两回事。
这是有效的,因为在名为int[][][] arr3 = {arr2};
的数组中,您在第0行和第0列有一个2D数组,这很好。
Inshort
arr3
等于
int[][][] arr3 = {arr2};