Trong Java 8, chúng ta có lớp Stream <T> , có một phương thức tò mò
Iterator<T> iterator()Vì vậy, bạn sẽ mong đợi nó triển khai giao diện Iterable <T> , yêu cầu chính xác phương pháp này, nhưng thực tế không phải vậy.
Khi tôi muốn lặp lại một luồng bằng vòng lặp foreach, tôi phải làm một cái gì đó như
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)) { ... }Am i thiếu cái gì ở đây?
Streamđến các API kế thừa mong đợiIterable
                getIterable()đểreturn s::iterator;
                for (T element : stream::iterator), vì vậy tôi vẫn thích nếu Stream cũng sẽ thực hiện Iterablehoặc một phương thức toIterable().