Wann wird der Code ausgeführt?
-
Ich zaubere mit einem Java8-Stream einen Punkt vor jedes Element eines Arrays.
String[] DOTTED_SOUND_EXT = Arrays.stream(SOUND_EXT).map(e -> "."+e).toArray(String[]::new); Findet das Mapping (des betreffenden Elements) erst beim Zugriff auf das Array statt, oder wird alles gemappt, wenn ich das Array anlege?
-
Dieser Beitrag wurde gelöscht!
-
Das Mapping findet statt durch den Aufruf von
toArray
. Siehe dazu die Dokumentation:
https://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.htmlmap
ist eine Intermediate-Operation undtoArray
ist die Terminal-Operation. Siehe dazu insbesondere auch:
https://docs.oracle.com/javase/8/docs/api/java/util/stream/package-summary.html#StreamOps
-
Alles klar. Vielen Dank!