public static Stream<Cell> streamCells(int rows, int cols) {
return IntStream.range(0, rows).mapToObj(row -> IntStream.range(0, cols).mapToObj(col -> new Cell(row, col)));
}
Я использую Eclipse. Следующая ошибка дается eclipse.Почему этот код java 8 не компилируется?
Type mismatch: cannot convert from Stream<Object> to Stream<ProcessArray.Cell>
Ваш код дает мне «Тип несоответствия: невозможно преобразовать из Stream
Извините, ваш ответ был прав. Ошибка произошла из-за ошибки Eclipse. Отметьте свой ответ как правильный. –
Не делайте этого. Использование 'Stream.concat' для большего количества потоков будет ошибкой производительности. Это подразумевает, что все подпотоки создаются с нетерпением до того, как результирующий поток будет возвращен, и на них будет ссылаться «конкатенационный поток» в течение его жизненного цикла. Используйте 'Stream.flatMap', который предназначен для этого использования. Он не будет создавать экземпляр какого-либо подпотока до того, как это потребует фактическая операция терминала. Он также позволяет субпотокам получать сбор мусора сразу после использования. – Holger