Digamos que tengo el siguiente código:¿La "condición" de un ciclo for se llama cada vez para Iterables?
for (Object obj : Node.getIterable()) {
//Do something to object here
}
y Node.getIterable() devuelve un iterable. ¿Se llama a la función getIterable() cada vez o solo cuando se inicia el ciclo for? ¿Debería cambiarlo a:
Iterable<Object> iterable = new Iterable<Object>();
//populate iterable with objects
for (Object obj : iterable) {
//Do something
}
Forma sencilla de averiguarlo ... Simplemente ajuste el Node.getIterable en un método que también escriba algo en la consola (o en un archivo, si lo prefiere). Entonces podrás ver cuántas veces se llamó. Mi apuesta, solo se llama una vez, pero no tengo suficiente confianza para dar una respuesta definitiva. –