3 точки означают объявление Vararg , которое компилируется в массив, что делает подпись метода mapToSomeObj(String...)
такой же, как подпись mapToSomeObj(String[])
.
Если a.getVal()
возвращает String
, ваш подход должен работать:
String[] arr = Obj.stream().map(a::getVal).toArray(String[]::new);
mapToSomeObj(arr);