Duplicar posible:
Why this is not compiling in Java?¿Por qué no puedes asignar un int a un entero en un bucle sin llaves?
en Java, las llaves son opcionales para una línea de bucles, pero he encontrado un caso en el que no está permitido. Por ejemplo, este código:
for(int i = 0; i < 10; i++)
Integer a = i;
no se compilará, pero si se agrega llaves, así:
for(int i = 0; i < 10; i++){
Integer a = i;
}
lo hará. ¿Por qué no compilará este código?
Curiosamente, casi exactamente la misma pregunta surgió hace una semana. ¿Fue esta una pregunta de entrevista? Editar: lo encontré http://stackoverflow.com/questions/1974641/why-this-is-not-compiling-in-java – BalusC
Eso es bastante interesante. ¿Qué versión de Java? Supongo que se debe al boxeo. Pero es un poco extraño. –
@silky: no tiene nada que ver con el boxeo. (En particular, es anterior al boxeo por un largo camino y sucedería si 'a' fuera de tipo' int' también). Es la diferencia entre una declaración-declaración y una declaración-declaración si la memoria sirve ... –