新手自学java遇到的小问题(2),求高手解答。
看到了C和C++中没有的“foreach”语句,就实验了一下。
for (variable : collection) statement
结果无意中发现它的两个参数(第一个是数组中元素的类型,第二个是数组对象)中的第一个参数必须在括号中声明,
如果在外部声明,而括号中直接使用的话就会在第一个参数上报错:variable cannot be resolved to a type
并且在第二个参数上报错:Type mismatch: cannot convert from element type int to variable
这让我比较费解,for语句中的初始化、检查、更新参数都可以在语句外部声明,为什么这个很类似for语句的“foreach”语句不能这么定义,应该怎么理解这个语句呢?