Просто используйте .toArray();
без Double[]::new
, потому что ваш поток удерживается с начала массива double:
double[] doubles = Arrays.stream(pricesDoubleArr)
.filter(x -> x != Math.round(x))
.toArray();
Я не уверен, что вы ищете из своего кода, но из вашего вопроса:
Я пытаюсь вернуть 1.000 в отфильтрованных результатах.
Я думаю, что вы ищете:
.filter(x -> x == (double) (int) x)