[J2SE 5.0专题][2.2]增强的for循环
来源:互联网 发布:perl json 编辑:程序博客网 时间:2024/05/14 11:11
你是否已经厌倦了每次写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循环更详细的内容,参考这里。
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循环更详细的内容,参考这里。
- J2SE 5.0专题 增强的for循环
- [J2SE 5.0专题][2.2]增强的for循环
- [J2SE 5.0专题][2.2]增强的for循环
- J2SE 1.5的for增强循环
- J2SE 1.5中增强for循环详解
- 增强的for循环
- 增强的for循环
- j2se学习要点记录(六)collection(集合)接口、增强的for循环、collections类
- 体验J2SE 1.5新特性之增强For循环
- 体验J2SE 1.5新特性之增强For循环
- J2SE 1.5新特性之增强For循环
- 体验J2SE 1.5新特性之增强For循环
- Java 5.0 中增强的for循环
- 【for循环】增强的for循环
- java增强的for循环!
- 增强for循环的好处
- 增强的for循环语句
- Java增强的for循环
- An introduction to "Open Source: Open for Business"
- 点杀当代婚礼, 笑倒一批人
- 苏格拉底和失恋者的对话
- Delphi command-line compiler
- .net缓存
- [J2SE 5.0专题][2.2]增强的for循环
- 易语言
- 第一次激活我的BLOG
- RSS简单介绍
- 自杀事件
- 滚动条左侧显示代码
- 《白色巨塔》中5幕令人难忘的精彩片段
- [转]UNIX入侵经典步骤详解(part 3.4)
- BCB数据库图像保存技术