您的位置:
首页
->
编程文档
->
Java
-> [J2SE 5.0专题][2.2]增强的for循环
Java
本类阅读TOP10
·
使用MyEclipse开发Struts框架的Hello World!(录像1)
·
hibernate配置笔记
·
AOP编程入门--Java篇
·
linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·
在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·
构建Linux下IDE环境--Eclipse篇
·
Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·
ASP、JSP、PHP 三种技术比较
·
Tomcat5.5.9的安装配置
·
AWT GUI 设计笔记(二)
→
分类导航
VC语言
Delphi
VB语言
ASP
Perl
Java
Script
数据库
其他语言
游戏开发
文件格式
网站制作
软件工程
.NET开发
[J2SE 5.0专题][2.2]增强的for循环
作者
:未知
来源
:月光软件站
加入时间
:2005-2-28 月光软件站
你是否已经厌倦了每次写for循环时都要写上那些机械的代码,尤其当你需要遍历数组或者Collection,如:
public void
showAll (Collection c) {
for
(Iterator iter = c.iterator(); iter.hasNext(); ) {
System.out.println(iter.next().toString());
}
}
public void
showAll (String[] sa) {
for
(int i = 0; i < sa.length; i++) {
System.out.println(sa[i]);
}
}
这样的代码不仅显得臃肿,而且容易出错,(想想看如果我们不小心忘记移动iterator或者下标,又或者在循环体内不小心移动了下标,可能更糟:在循环体内做了逻辑判断,而进一步影响到下标或者iterator的位置,类似的例子可以举出很多。)为什么不能让编译器帮我们处理呢?在5.0中,我们可以这样写:
public void
showAll (Collection c) {
for
(Object obj : c) {
System.out.println(obj.toString());
}
}
public void
showAll (String[] sa) {
for
(String str : sa) {
System.out.println(str);
}
}
这样的代码显得更加清晰和简洁,不是吗?(是不是有点像C#的
foreach
?)加上泛型,我们甚至可以把第一个方法变得更加漂亮:
public void
showAll (Collection<String> c) {
for
(String str : c) {
System.out.println(str);
}
}
有了泛型和增强的for循环,我们在大多数情况下已经不用去操心那些烦人的for循环的表达式和嵌套了。如下情况例外:当你需要在循环体中访问iterator和下标时,比如当你需要去除或者修改集合或数组中的元素。
有关增强的for循环更详细的内容,参考
这里
。
相关文章
:
相关软件
: