作者adrianshum (Alien)
看板java
标题Re: [问题] 请问有关for的使用问题
时间Fri May 23 12:18:26 2008
※ 引述《seruze (seruze)》之铭言:
: public class Main
: {
: private enum Seasons { winter, spring, summer, fall }
: public static void main(String[] args)
: {
: for (Seasons s : Seasons.values())
: {
: System.out.println(s);
: }
: }
: }
: 今天想学习java的Enum功能~於是找了相关的使用例子如上;
: 但我看到了一个for的使用方法,不明白详细的规则:
: for (Seasons s : Seasons.values())
: 请问这一句是怎样的含意呢?
: 用「:」符号又是什麽功能呢?
: 希望各位先进能指点一二~感谢。
JDK5 新加的语法.
for (T a: b) {
// do something
}
当 b 为 Collection<T> 或 T[] 时可以这样写.
Collection<T> 的情况其实 compiler 为你转为:
for(Iterator<T> itr=b.iterator(); itr.hasNext();) {
T a = itr.next();
// do something
}
当 b 是 T[] 则为你转为:
for (int i = 0; i < b.length; ++i) {
T a = b[i];
// do something
}
alien
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82
※ 编辑: adrianshum 来自: 202.155.236.82 (05/23 12:19)
1F:→ seruze:感谢指教^^! 05/23 13:06