Javaのstreamの終端処理で配列を返すようにする

Javaの終端処理でコレクションではなく配列を返すようにしたい。

方法としてはtoArray()を単純に利用するだけでよいが、そのままでは型情報が与えられずObject[]型の戻りとなってしまう。

Object[] array = myList.stream().toArray();

型を指定する場合は、toArray()メソッドの引数としてgeneratorメソッドをメソッド参照として渡せば良い。

String[] array = myList.stream().toArray(String[]::new);

参考