В этом случае существует проблема.
Давайте к примеру. Если у вас есть массив примитивов и вы пытаетесь создать поток напрямую, у вас будет поток из одного объекта массива, подобный этому:
// Arrays of primitives
int[] nums = {1, 2, 3, 4, 5};
Stream.of(nums); // One element int[] | Stream<int[]>
Для решения этой проблемы вы можете использовать:
Arrays.stream(nums).count(); // Five Elements
IntStream.of(nums).count(); // Five Elements