用for/in在Java 5.0中增强循环 - 编程入门网
该语法可能看起来有点古怪,但是当您一个部分一个部分了解它的时候,您会发现阅读它实际上非常容易。
清单 3. for/in 循环的基本结构
声明 是一个变量,例如 Object listElement。这个变量应该有自己的类型,这样,它就可以与将遍历的列表、数组或集合中的每一个项兼容。在清单 2 的例子中, list 包含一些对象,因此这些对象就是 listElement 的类型。 表达式 就是一个表达式。它计算的结果应当是可以遍历的(后面再详加介绍)。在现在,只要保证 表达式 计算的结果是一个集合或者数组就可以了。表达式可以简单到就是一个变量(如清单 2 所示)或者是一个方法调用(例如 getList()),亦或是包含布尔逻辑或三目运算符的复杂表达式。只要它返回一个数组或集合,就一切 OK。 语句 代表循环的内容,它对 声明 中定义的变量进行操作;当然,这是一个循环,所以 语句 将应用到数组中集合的每个项目上。而且,使用大括号( { 和 })时,还能使用多条语句。 其用法如下:创建一个变量,指向要遍历的数组或集合,然后对定义的变量进行操作。不用对列表中的每个项目进行赋值,因为 for/in 替您处理了这件事。当然,如果您还觉得不太清楚,没关系,继续读下去,有大量的示例让您足够清楚这个事件。 但是,在进行下一步之前,我想用更加符合规范的方式说明 for/in 的工作方式。清单 4 显示了在提供通用化类型时,实际发挥作用的 for/in 循环。以下是编译器把该循环转换成普通的 for 循环之后,语句实际看起来的样子。 您明白了吗?编译器实际上把这个更短、更方便的 for/in 语句变成了一个更加编译器友好的 for 循环,而且您不会受到这项工作的影响。这就是为什么我认为它方便,而不仅仅说它更简短的原因。 清单 4. 转换后的 for/in 循环,带有一个 Iterable
清单 5 是另外一个经过编译器转换之后的 for/in,这次没有通用化类型。虽然更简单,但做的事是一样的。但是在每种情况下,您都可以很容易地在脑子里(并通过编程方式)把 for/in 语句转换成普通的 for 语句,如果您能在脑子子里做这个转换,事情就变得极为容易了。 清单 5. 转换后的 for/in 循环,没有未经参数化的类型
用for/in在Java 5.0中增强循环(3)时间:2011-02-05 Brett McLaughlin使用数组 现在您已经了解了基本的语义,可以继续了解一些更具体的示例了。您已经看到 for/in 如何处理列表了;处理数组也一样容易。与集合相同,数组也被赋值(如清单 6 所示),然后这些值被逐个取出,并被处理。 清单 6. 简单的数组初始化
对于使用 for 以及计算器或索引变量的场合,现在就可以使用 for/in(当然,前提是您正在使用 Tiger)。清单 7 显示了另外一个简单的示例: 清单 7. 用 for/in 对数组进行循环就是小菜一碟
没有任何需要特别说明的地方,这些都是非常基本的东西。数组被类型化,所以您需要很清楚地知道数组中每个项目的变量类型是什么。这 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |