java for 中的冒号,Java for循环中使用冒号【摘】

在for循环中使用冒号,是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();

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值