** Vor der Konvertierung: **
String[] strArray = {"Apfel", "Mandarine", "Banane"};
** Nach der Konvertierung: **
Fruit ringo = new Fruit("Apfel");
Fruit mikan = new Fruit("Mandarine");
Fruit banana = new Fruit("Banane");
Fruit[] fruitArray = {ringo, mikan, banana};
OS:Windows 10 Java:Oracle JDK 11 (Es wird interpretiert, dass es kostenlos für Anwendungen wie Entwicklung und Test verwendet werden kann)
String[] strArray = {"Apfel", "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) Vom String-Array in einen String-Stream konvertieren. (String [] ⇒ Stream \ <String >)
(2) Generieren Sie mit der Map-Methode eine Fruit-Klasse für jedes Stream-Element. Da der Konstruktor nur ein Argument für den String-Namen enthält, ist diese Beschreibung in Ordnung. (Natürlich ist auch der Lambda-Ausdruck s-> new Fruit (s) in Ordnung.)
(3) Konvertieren Sie mit der toArray-Methode in ein Array.
Wenn Sie nicht daran gewöhnt sind, ist der for-Satz leichter zu verstehen und zu schreiben. Sobald Sie sich daran gewöhnt haben, ist der Code kürzer und mit der Stream-API einfacher zu schreiben.
Ich bin noch ein Anfänger in Stream, also möchte ich mich zwingen, mich schnell daran zu gewöhnen.