我用來實現與這樣的泛型循環:泛型for-loop:有沒有辦法獲得迭代信息?
for (final Dog lDog : lAllDog) {
...
}
Unfortunality另一個商業案例,我需要迭代的當前計數。 我知道我可以通過編碼的財產以後這樣的解決這個問題:
for (int i = 0 ; i < lAllDog.length(); i++) {
System.out.println(i);
}
或
int i = 0;
for (final Dog lDog : lAllDog) {
...
i++;
}
但有沒有辦法讓我的第一個代碼示例迭代的當前計數沒有宣佈新的int
或更改整個循環標題?
Thx很多
增強的for循環沒有計數器 - 所以您需要引入計數器,這種或那種方式。你的兩個例子幾乎涵蓋了可能... – assylias 2013-03-18 16:17:33
我認爲增強型for-loop是專門針對一些特定的,非常簡單的,非常常見的情況。我用它來做那些。對於其他任何事情,舊的for循環都沒有錯。 – 2013-03-18 16:20:40
@PatriciaShanahan增強型for循環在引擎蓋下使用了'Iterator',這意味着它以最優的速度遍歷所有集合。 「''''''循環'有兩個問題 - 它不能遍歷一個'Set',如果你試圖遍歷一個'LinkedList',那麼最終會導致可怕的性能。 – 2013-03-18 16:26:12