国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

java - For-Each能夠遍歷數組(Array)的原理是什么?

瀏覽:182日期:2024-01-07 10:12:40

問題描述

比如這樣一個例子...

Egg[] eggs = {new Egg(), new Egg()};for (Egg egg : eggs) { egg.eat();}

自己嘗試了一下,冒號后面的對象只要不是數組或者Iterable對象,都是會報出編譯錯誤。Can only iterate over an array or an instance of java.lang.Iterable

然后我通過調試發現For-Each實際上是不斷地調用迭代器的hasNext()和next()方法來實現對Collection類遍歷的。

那么遍歷數組的原理是什么呢?也是在JDK層面實現的嗎?

問題解答

回答1:

是的,這只是一個語法糖罷了~ 能夠foreach的話必須要實現Iterable接口~

回答2:

For-Each 能遍歷數組的原理是 JVM 在編譯的時候將其翻譯為了傳統的 For-Index 循環,即:

for (int i = 0; i < arr.length; i++) {...}

這也是 JVM 為 Java 提供的一個語法糖。

標簽: java
相關文章:
主站蜘蛛池模板: 忻州市| 缙云县| 亚东县| 青海省| 弋阳县| 于田县| 天津市| 星座| 彝良县| 合山市| 台北市| 铁岭县| 凌海市| 全州县| 永仁县| 昌邑市| 本溪市| 乌兰县| 米易县| 永福县| 嘉黎县| 沂水县| 凌云县| 神池县| 安图县| 孝感市| 广元市| 应用必备| 普格县| 阿勒泰市| 枣强县| 平定县| 盈江县| 鄂州市| 台北县| 全椒县| 乌兰察布市| 雷波县| 深水埗区| 金湖县| 安宁市|