質問: {1, 2, 3}; Arrays.stream(a).mapToObj(p -> String.valueOf(p)).toArray(); ``` とすると ``` $27 ==> Object[3] { "1", "2", "3" } ``` という返事です。 中身は文字列になっているのですが、`Object[3]`の型となっており、`String[]`の変数への代入はできません。何かが足りないのはわかるのですが... ということで、 ``` String[3]{"1", "2", "3"} ``` となって、`String[]`の変数に代入できるようになる方法を希望します。
回答: `toArray`の引数として、正しい型の配列を生成する関数を渡す必要があります(Oracle)。 ``` Arrays.stream(a).mapToObj(p -> String.valueOf(p)).toArray(String[]::new); ```