** Avant conversion: **
String[] strArray = {"pomme", "Mandarine", "banane"};
** Après conversion: **
Fruit ringo = new Fruit("pomme");
Fruit mikan = new Fruit("Mandarine");
Fruit banana = new Fruit("banane");
Fruit[] fruitArray = {ringo, mikan, banana};
OS:Windows 10 Java:Oracle JDK 11 (Il est interprété qu'il peut être utilisé gratuitement pour des applications telles que le développement et les tests)
String[] strArray = {"pomme", "Mandarine", "banane"};
Fruit[] fruitArray = new Fruit[strArray.length];
for(int i = 0; i < strArray.length; i++) {
fruitArray[i] = new Fruit(strArray[i]);
}
Fruit[] fruitArray = Arrays.stream(strArray) // (1)
.map(Fruit::new) // (2)
.toArray(Fruit[]::new); // (3)
(1) Convertir du tableau String en flux String. (Chaîne [] ⇒ Stream \ <Chaîne >)
(2) Générez une classe Fruit pour chaque élément Stream avec la méthode map. Puisqu'il n'y a qu'un seul argument de nom de chaîne dans le constructeur, cette description est correcte. (Bien sûr, l'expression lambda s-> nouveau (s) fruit (s) est également OK.)
(3) Convertissez en tableau avec la méthode toArray.
Si vous n'y êtes pas habitué, l'instruction for est plus facile à comprendre et à écrire, Une fois que vous vous y serez habitué, le code sera plus court et plus facile à écrire à l'aide de l'API Stream.
Je suis encore un débutant dans Stream, donc je veux me forcer à m'y habituer rapidement.