9
为什么Stream <T>不实现Iterable <T>?
在Java 8中,我们有类Stream <T>,它奇怪地有一个方法 Iterator<T> iterator() 因此,您可能希望它实现接口Iterable <T>,而该接口正是需要此方法,但事实并非如此。 当我想使用foreach循环遍历Stream时,我必须做类似的事情 public static Iterable<T> getIterable(Stream<T> s) { return new Iterable<T> { @Override public Iterator<T> iterator() { return s.iterator(); } }; } for (T element : getIterable(s)) { ... } 我在这里想念什么吗?