Während um mit Java8 der Streams-API spielen, stolperte ich über die folgenden:Mit Streams mit Primitive Datentypen und die entsprechenden Wrapper
Um ein Array von primitiven Wrapper classe zu konvertieren Objekte in einem Stream
Ich muss nur Stream.of(array)
nennen. Aber um ein Array von primitiven Datentypen zu konvertieren, muss ich .of(array)
von der entsprechenden Wrapper (Klasse) Stream-Klasse (< - das klingt albern) aufrufen.
Ein Beispiel:
final Integer[] integers = {1, 2, 3};
final int[] ints = {1, 2, 3};
Stream.of(integers).forEach(System.out::println); //That works just fine
Stream.of(ints).forEach(System.out::println); //That doesn't
IntStream.of(ints).forEach(System.out::println); //Have to use IntStream instead
Meine Frage (n): Warum ist das? Entspricht dies z.B. das Verhalten von Arrays.asList()
, die auch nur für Wrapper-Klasse-Arrays funktioniert?
Ist es nicht normal IntStream Methoden zu verwenden, mit IntStreams und Stream-Methoden mit Streams umgehen umgehen? –
Sie können auch 'Arrays.stream (ints) .forEach (System.out :: println)' verwenden. – skiwi
@skiwi Das ist wirklich nett zu wissen. Danke – ifloop