可以說我有下面的代碼:是在for循環每次Iterables所謂的「條件」?
for (Object obj : Node.getIterable()) {
//Do something to object here
}
和Node.getIterable()返回一個迭代。是否每次都調用getIterable()函數,或者只有在啓動for循環時才調用getIterable()函數?我應該將其更改爲:
Iterable<Object> iterable = new Iterable<Object>();
//populate iterable with objects
for (Object obj : iterable) {
//Do something
}
簡單的方法來找出...只需將Node.getIterable包裝在一個方法中,該方法也可以將某些東西寫入控制檯(或者您喜歡的文件)。然後你就可以看到它被調用了多少次。我的賭注 - 它只會被調用一次,但我沒有足夠的信心給出明確的答案。 –