问题描述
for-each
中声明的大小始终小于数组的大小。为什么?
int[][][] c = {{{1,2,3}}};
for(int [][] z : c )
//code
c是3D数组,所以z应该吗? 喜欢:
int[][][] c = {{{1,3}}};
for (int[][][] z : c) // which is syntactically wrong
//code
谢谢。
我从评论和以下答案中了解到的答案:for-each
内的声明
3D数组for-each
中的
将每个2D数组视为一个元素,
2D数组for-each
中的
会将每个1D数组视为一个元素,依此类推。
在1D数组中,它将数组中的元素直接作为元素。
解决方法
将该构造读取为for-each
循环。在这种情况下,对于int[][]
中的每个int[][][]
。另一个示例,for-each
中的int
int[]
。
int[] arr = {1,2,3};
for (int i : arr) {
System.out.println(i);
}