Java: “Anonyme” de la matrice de dans pour-chaque-boucle

Alors que j'essayais quelque chose de spécial dans la boucle for, j'ai reconnu que Java ne semble pas comme mettre un anonyme de la matrice de droite comme source pour un pour-chaque-boucle:

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

ne fonctionne pas alors que

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

n'.

Même le casting du tableau de String[] ne l'aide pas. Lorsque vous déplacez le curseur sur la première version, eclipse me dit:

Type mismatch: cannot convert from String[] to String tout sens "crt".

Est-ce un bug?

  • Quant à "Est-ce un bug?": catb.org/~esr/faq/smart-questions.html#id382249
  • Je n'ai pas vraiment demande pour trouvé un bug. Je viens de demander qu'il peut être un bug. Et il est étrange que dans une partie de ce type d'expression œuvres et dans l'autre, il ne le fait pas. Pas très cohérent à mes yeux.
  • pour l'enregistrement, @JoachimSauer faisait référence à l'article Ne vous précipitez pas à la réclamation que vous avez trouvé un bug. la mise à jour de l'URL est catb.org/~esr/faq/smart-questions.html#idp5122192