Java1.5新增屬性之一就是增強的for循環 for(Object o:objectList),以前一直用的for-each (for inti=0;i<list.size();i++),增強的for循環沒怎麼用過,後來碰到的一些問題改變了我,使得現在優先使用增強的for循環, 看下面這段代碼,循環擷取兩個骰子所有的可能結果: enum Face{ONE,TWO,THREE,FOUR,FIVE,SIX}; for(Iterator i=Face.values();i.hasNext()) for(Iterator j=Face.values();j.hasNext()) System.out.printon(i+","+j); 它并不會輸出我們期望的三十六種組合,而是ONE,ONE;TWO,TWO這樣的六種組合,如果改成 for(Iterator i=Face.values();i.hasNext()){ Face f = (Face)i.next(); for(Iterator j=Face.values();j.hasNext()) System.out.printon(f+","+j); } 則會輸出期望的三十六種組合,如果直接使用增強的for循環,就會輸出正确的結果 。 但并不是所有的情況都适合用增強的for循環,例如,需要疊代循環取得某個索引的值并删除,此時非for-each莫屬了。