Stream
Java 8を配列に変換する最も簡単/最短の方法は何ですか?
ベストアンサー1
最も簡単な方法は、toArray(IntFunction<A[]> generator)
配列コンストラクタ参照でメソッドを使用することです。これは、メソッドのAPIドキュメント。
String[] stringArray = stringStream.toArray(String[]::new);
これは、整数 (サイズ) を引数として受け取り、 を返すメソッドを見つけます。String[]
これは、まさに (のオーバーロードの 1 つ)new String[]
が行うことです。
独自のコードを書くこともできますIntFunction
:
Stream<String> stringStream = ...;
String[] stringArray = stringStream.toArray(size -> new String[size]);
の目的はIntFunction<A[]> generator
、配列のサイズである整数を新しい配列に変換することです。
コード例:
Stream<String> stringStream = Stream.of("a", "b", "c");
String[] stringArray = stringStream.toArray(size -> new String[size]);
Arrays.stream(stringArray).forEach(System.out::println);
プリント:
a
b
c