Donc en C #, je peux traiter un string[]
comme un IEnumerable<string>
.
Existe-t-il un équivalent Java?
Donc en C #, je peux traiter un string[]
comme un IEnumerable<string>
.
Existe-t-il un équivalent Java?
Iterable<String>
est l'équivalent d' IEnumerable<string>
.
Il serait un odditity dans le système de type si les tableaux mis en oeuvre Iterable
. String[]
est une instance de l' Object[]
, mais Iterable<String>
n'est pas un Iterable<Object>
. Les Classes et les interfaces ne peuvent pas se multiplier implémenter la même interface générique avec différents arguments génériques.
String[]
fonctionneront comme un Iterable
dans le renforcement de la boucle for.
String[]
peut facilement être transformée en une Iterable
:
Iterable<String> strs = java.util.Arrays.asList(strArray);
Préférez les collections de tableaux (pour les non-primitives de toute façon). Les tableaux de types de référence sont un peu bizarre, et sont rarement nécessaires depuis Java 1.5.
Je crois que l'équivalent Java est Iterable<String>
. Bien que String[]
ne l'implémente pas, vous pouvez quand même boucler sur les éléments:
String[] strings = new String[]{"this", "that"};
for (String s : strings) {
// do something
}
Si vous avez vraiment besoin de quelque chose qui implémente Iterable<String>
, vous pouvez le faire:
String[] strings = new String[]{"this", "that"};
Iterable<String> stringIterable = Arrays.asList(strings);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.