for/in(for each)循環(huán)自動(dòng)控制一次遍歷數(shù)組中的每一個(gè)元素,然后將它賦值給一個(gè)臨時(shí)變量(如上述代碼中的int n),然后在循環(huán)體中可直接對(duì)此臨時(shí)變量進(jìn)行操作。
這種循環(huán)的缺點(diǎn)是:
除了簡(jiǎn)單遍歷并讀取其中的內(nèi)容外,不建議使用增強(qiáng)的for循環(huán)。
for/in(for each)循環(huán)自動(dòng)控制一次遍歷數(shù)組中的每一個(gè)元素,然后將它賦值給一個(gè)臨時(shí)變量(如上述代碼中的int n),然后在循環(huán)體中可直接對(duì)此臨時(shí)變量進(jìn)行操作。這種循環(huán)的缺點(diǎn)是:
}
for/in循環(huán)遍歷的集合必須是實(shí)現(xiàn)Iterable接口的
雖然對(duì)集合進(jìn)行的for/in操作會(huì)被編譯器轉(zhuǎn)化為Iterator操作,但是使用for/in時(shí),Iterator是不可見的,所以如果需要調(diào)用Iterator.remove()方法,或其他一些操作, for/in循環(huán)就有些力不從心了。
綜上所述,Java 5.0中提供的增強(qiáng)的for循環(huán)——for/in(for each)循環(huán)能讓我們的代碼更加簡(jiǎn)潔,讓程序員使用時(shí)更加方便,但是也有它的局限性,所以一定要根據(jù)實(shí)際需要有選擇性地使用,不要盲目追求所謂的“新特性”。