Странная проблема с API потоков JavaJAVA

Программисты JAVA общаются здесь
Ответить
Гость
 Странная проблема с API потоков Java

Сообщение Гость »


У меня возникла странная ошибка с потоками Java со следующим кодом ниже -

public Set getErrorCodes() { вернуть ограничениеViolations.stream() .map(ConstraintViolation::getConstraintDescriptor) .map(ConstraintDescriptor::getPayload) .map(ErrorCode::fromPayloads) .flatMap(Collection::stream) //-> Ошибка здесь говорит о том, что невозможно преобразовать объект в поток как исключение времени выполнения. .collect(Collectors.toSet()); } Однако следующий код работает, я действительно не понимаю, почему это происходит! Я использую Java 11

Stream setStream = ограничениеViolations.stream() .map(ConstraintViolation::getConstraintDescriptor) .map(ConstraintDescriptor::getPayload) .map(ErrorCode::fromPayloads); return setStream.flatMap(this::convertToStream).collect(Collectors.toSet()); /** * Это помогает компилятору узнать, какой тип имеет поток. * Это ИСПРАВЛЕНИЕ! * ввод @param * @возвращаться */ частный Stream ConvertToStream (Set input) { вернуть input.stream(); } Дополнительная информация: constraintViolations определяется как

частный набор
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»