JAVA问题 在JAVA循环时看见for (PersonMasterRelation relation : subordinateRelations())这种写法,不太明白忘高手指点一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那是java5的新特性,增强的for循环! relation = subordinateRelations()[i] 这是JAVA1.5 增强的for 循环的新特性。(enhanced for loop) 所谓“增强的for 循环”,主要也是针对容器的。使用该项特性时,开发者可以将“利用iterator 遍历容器”的逻辑交给编译器来处理。例如下列代码: void cancelAll(Collection c) { for (Iterator i = c.iterator(); i.hasNext(); ) { TimerTask tt = (TimerTask) i.next(); tt.cancel(); } } 可以用增强的for 循环改写为: void cancelAll(Collection c) { for (Object o : c) ((TimerTask)o).close(); } 编译器判断对象c 是一个Collection 子对象(即是容器)之后,就会允许使用增强的for 循环 形式,并自动取到c 的迭代器,自动遍历c 中的每个元素。 可以看到,上面的代码中仍然有一个强制类型转换(((TimerTask)o).close();)。实际上,这 项特性应该普遍地与泛型结合,以获得最大的利益。结合泛型之后,上述代码变成: void cancelAll(Collection c) { for (TimerTask task : c) task.cancel(); } 怎么讲数据库的表记录插入到List中在界面列表出来 求教AJAX参数问题 Request对象如何获得包中的信息 急救struts+js目录树出错解决方法,,在线泣等 Struts编译过不去? 我在Windows下开发的STURTS项目,能移植到LINNUX上嘛? 问题没解决,为什么非要让我结贴?! bean有个int类型的属性test,在bean内部可以用一个不同名的变量存放属性值吗? 关于tomcat,请问我的配置那里有问题,我急啊。。。。。。 jdbc1.2 jdbc2.0里面的类是干什么用的? ResultSetMetaData 的geTableName()获得的一直为空 请教经验认识
所谓“增强的for 循环”,主要也是针对容器的。使用该项特性时,开发者可以将“利用iterator
遍历容器”的逻辑交给编译器来处理。例如下列代码:
void cancelAll(Collection c) {
for (Iterator i = c.iterator(); i.hasNext(); ) {
TimerTask tt = (TimerTask) i.next();
tt.cancel();
}
}
可以用增强的for 循环改写为:
void cancelAll(Collection c) {
for (Object o : c)
((TimerTask)o).close();
}
编译器判断对象c 是一个Collection 子对象(即是容器)之后,就会允许使用增强的for 循环
形式,并自动取到c 的迭代器,自动遍历c 中的每个元素。
可以看到,上面的代码中仍然有一个强制类型转换(((TimerTask)o).close();)。实际上,这
项特性应该普遍地与泛型结合,以获得最大的利益。结合泛型之后,上述代码变成:
void cancelAll(Collection c) {
for (TimerTask task : c)
task.cancel();
}