【发布时间】:2014-07-19 15:26:18
【问题描述】:
我明白为什么下面的代码没问题。因为调用终端操作之前正在修改集合。
List<String> wordList = ...;
Stream<String> words = wordList.stream();
wordList.add("END"); // Ok
long n = words.distinct().count();
但是为什么这段代码不行呢?
Stream<String> words = wordList.stream();
words.forEach(s -> if (s.length() < 12) wordList.remove(s)); // Error—interference
【问题讨论】:
标签: java-8 java-stream