Java 8. Когда поток потребляется и работает, возникает ошибка, но в другом случае это не так.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java 8. Когда поток потребляется и работает, возникает ошибка, но в другом случае это не так.

Сообщение Anonymous »

Я новичок в Java 8 и хочу понять разницу между этими двумя сценариями. Я знаю, что после того, как поток будет запущен и использован, его нельзя будет использовать повторно, это приведет к ошибке.

Сценарий-1:

Код: Выделить всё

List title = Arrays.asList("Java8", "In", "Action");
Stream s = title.stream();
s.forEach(System.out::println);
s.forEach(System.out::println); // THIS WILL GIVE ERROR - streams has been already operated and closed.
Когда я запускаю это, я получаю сообщение об ошибке ниже... и это справедливо.

Код: Выделить всё

Java8
In
Action
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
at java.util.stream.AbstractPipeline.sourceStageSpliterator(Unknown Source)
at java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
at com.test.Java8InAction.CH4.TraversableOnlyOnce.main(TraversableOnlyOnce.java:12)
Сценарий 2:

Код: Выделить всё

// Filtering unique elements
List numbers = Arrays.asList(1, 2, 1, 3, 3, 2, 4);
numbers.stream().forEach(System.out::println);
numbers.stream().filter(n -> n % 2 == 0).distinct().forEach(System.out::println);
numbers.stream().filter(n -> n % 2 == 0).forEach(System.out::println);
Здесь я также управлял потоком и закрыл операцию терминала, тогда почему я не получил никакой ошибки?

Подробнее здесь: https://stackoverflow.com/questions/526 ... other-case
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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