recorrer matriz for array java arrays foreach

matriz - map foreach java



Java: matriz "anĂ³nima" en for-each-loop (4)

Dunno, ¿qué hay de esto? :) Lástima que no hay una versión sucinta. Supongamos que puedes usar Groovy o Scala si quieres algo como eso :)

for (String s : Arrays.asList("a","b","c")) { hmm(s); }

Mientras intentaba algo especial en for loop, reconocí que a Java no parece gustarle poner una matriz anónima como fuente de un bucle for-each:

for (String crt : {"a","b","c"} ) { doSomething(); }

en realidad no funciona mientras

String[] arr = {"a","b","c"}; for (String crt : arr ) { doSomething(); }

hace.

Incluso lanzar el conjunto a String [] no ayuda. Al mover el cursor sobre la primera versión, eclipse me dice:

Type mismatch: cannot convert from String[] to String mientras que significa "crt".

¿Es esto un error?


El lenguaje Java proporciona el formulario {"a","b","c"} como acceso directo, pero solo es posible durante la asignación. Es posible que esto evite posibles ambigüedades durante el análisis, en algunas posiciones {} podría interpretarse como un bloque de código.

La forma correcta de hacerlo sería cómo sugiere Noah, con una new String[]{"a","b","c"} .


Esto funcionará:

for (String crt : new String[]{"a","b","c"} ) { doSomething(); }


Usted quiere

for (String crt : new String [] {"a","b","c"} ) { doSomething(); }

Yo uso IntelliJ y dice poner el mensaje "expresión esperada" en el lado derecho del colon en el for-loop, que parece más preciso.

Debo añadir que IntelliJ también ofrece agregar el "nuevo String []" automágicamente para mí.