lunes, agosto 02, 2004

Tiger - Enhanced for loop

¿Quien no ha tenido que iterar en una colección para hacer algo con los elementos que la componen? Teniendo una colección c de Strings, la forma de hacerlo hoy dia podría ser esta:

for (Iterator i = c.iterator(); i.hasNext(); ) {
    String s = (String) i.next();
    ...
}

O incluso esta con los nuevos generics, que permiten ahorrarnos el cast:

for (Iterator<String> i = c.iterator(); i.hasNext()) {
  String s = i.next();
  ...
}

Pero Java 5 provee ahora una manera mas simple de hacerlo, a la foreach:

for (String s : c) {
    ...
}

Lo interesante de esto también, es que quien se encarga de la nueva syntaxis es el compilador, lo cual hace que sea transparente para la VM.