|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
之前类似这样的语句: void cancelAll(Collection c) { for (Iterator i = c.iterator(); i.hasNext(); ) { TimerTask tt = (TimerTask) i.next(); tt.cancel(); } } 以后可以这样写: void cancelAll(Collection c) { for (Object o : c) ((TimerTask)o).cancel(); } 有时候我们可能写出这样的代码: List suits = ...; List ranks = ...; List sortedDeck = new ArrayList(); for (Iterator i = suits.iterator(); i.hasNext(); ) for (Iterator j = ranks.iterator(); j.hasNext(); ) sortedDeck.add(new Card(i.next(), j.next())); 这段代码不会按照我们设想的那么工作,因为每次第二个for语句的执行都会引发i.next()的执行,实际上我们没有达到对i进行遍历的目的,而且可能会引起一个NoSuchElementException非常。 解决的一个办法是改写成如下代码: for (Iterator i = suits.iterator(); i.hasNext(); ) { Suit suit = (Suit) i.next(); for (Iterator j = ranks.iterator(); j.hasNext(); ) sortedDeck.add(new Card(suit, j.next())); } 利用java语言的新特性,我们可以这样写: for (Suit suit : suits) for (Rank rank : ranks) sortedDeck.add(new Card(suit, rank)); 这段代码是不是很美丽? 返回类别: 教程 上一教程: java关于日期的运算等处理方式 下一教程: 仔细触摸Java编程中的“文档”和“包” 您可以阅读与"J2SE新特性---循环语句的增强"相关的教程: · J2SE 5.0 语言新特性 · J2SE 5.0的新特性---Autoboxing · J2se5.0 generis新特性 · JSP+JAVABEAN开发模式下,数据库SQL语句的编写规范 · Java1.5语言新特性简朴总结 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |