在Java中,對於數組為什么能夠使用foreach語句一直感覺很困惑。
對於能夠使用foreach語句進行遍歷的對象,只有兩種情況,其中一種是遍歷對象必須實現Iterable接口,實現ierator()方法,這是對象使用foreach語句的前提。另外一種情況就是特殊對象數組。那么對於數組可以使用foreach該如何去理解呢?
首先需要說明的是,實現了java.lang.Iterable接口的對象可以用for-each去遍歷,但是能用for-each去遍歷的不一定實現了該接口,比如數組這個特殊對象就是這一特殊情況。但是網上關於這方面的資料很少,自己只能說下自己的理解。
我認為數組對象之所以能夠使用foreach語句進行遍歷元素,是因為JVM在底層將對於數組的foreach循環轉換為對於這個數組每一個的循環引用。類似在底層轉化成了普通的for語句一樣,得以保證我們使用foreach語句時候能夠正確的進行遍歷。