ITEEDU

Java Gossip: foreach与数组

J2SE 5.0 新增foreach的语法,它可以应用于数组的循序存取上,其语法如下:

for(type element : array) {
   System.out.println(element)....
}

例如传统上循序存取一个数组的方式如下:

int[] arr = {1, 2, 3, 4, 5};
for(int i = 0; i < arr.length; i++)
    System.out.println(arr[i]);

在J2SE 5.0中可以这么写:

int[] arr = {1, 2, 3, 4, 5};
for(int element : arr)
    System.out.println(element);

注意,element的宣告必须在for()之中,例如以下就无法通过编译:

int[] arr = {1, 2, 3, 4, 5};
int element = 0;
for(element : arr)
    System.out.println(element);

如果是对象的话,作法也是类似,例如存取字符串数组的话,可以如下:

String[] names = {"caterpillar", "momor", "bush"};
for(String name : names)
    System.out.println(name);

那么二维数组呢?基本上您要是了解数组本身就是个对象,您自然就会知道如何存取,举个例子:

int[][] arr = {{1, 2, 3},
		{4, 5, 6},
		{7, 8, 9}};
for(int[] row : arr)
	for(int element : row)
		System.out.println(element);

依此类推,您可以自行推出三维以上的数组要如何使用foreach的方式来存取。