欢迎光临
我们一直在努力

J2SE新特性—循环语句的增强-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

之前类似这样的语句:

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));

这段代码是不是很漂亮?

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » J2SE新特性—循环语句的增强-JSP教程,Java技巧及代码
分享到: 更多 (0)