的Java分配二维arrayto三维阵列
问题描述:
我有下面的代码,这似乎编译:的Java分配二维arrayto三维阵列
int[] arr = {1, 2};
int[][] arr2 = {arr, {1, 2}, arr};
int[][][] arr3 = {arr2};
能否请您解释一下为什么上次语句的工作?我们不要在这里为二维数组分配一个三维数组吗?
感谢
答
不要我们分配一个二维数组来这里三维阵列?
如果你这样做
int[][][] arr3 = arr2;
但你在这里做什么int[][][] arr3 = {arr2};
不分配你是正确的。你正在创建一个包含元素的数组。
添加一个元素并分配引用是两件不同的事情。
这很有效,因为在你的数组arr3
你有一个二维数组在行零和列零这很好。
Inshort
int[][][] arr3 = {arr2};
是等于
int[][][] arr3 = new int[10][10][10];
arr3[0] = arr2;