為什么數組沒有實現Iterable接口,但可以使用foreach語句遍歷


在Java中,對於數組為什么能夠使用foreach語句一直感覺很困惑。

對於能夠使用foreach語句進行遍歷的對象,只有兩種情況,其中一種是遍歷對象必須實現Iterable接口,實現ierator()方法,這是對象使用foreach語句的前提。另外一種情況就是特殊對象數組。那么對於數組可以使用foreach該如何去理解呢?

首先需要說明的是,實現了java.lang.Iterable接口的對象可以用for-each去遍歷,但是能用for-each去遍歷的不一定實現了該接口,比如數組這個特殊對象就是這一特殊情況。但是網上關於這方面的資料很少,自己只能說下自己的理解。

我認為數組對象之所以能夠使用foreach語句進行遍歷元素,是因為JVM在底層將對於數組的foreach循環轉換為對於這個數組每一個的循環引用。類似在底層轉化成了普通的for語句一樣,得以保證我們使用foreach語句時候能夠正確的進行遍歷。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM