我一直认为Java8 Stream的中间操作在流上执行终端操作之前根本不会执行任何操作。
那么为什么这段代码会抛出IllegalStateException异常呢?
Stream<Integer> s = Stream.of(1, 2, 3);
s.limit(1);
s.limit(1);
我一直认为Java8 Stream的中间操作在流上执行终端操作之前根本不会执行任何操作。
那么为什么这段代码会抛出IllegalStateException异常呢?
Stream<Integer> s = Stream.of(1, 2, 3);
s.limit(1);
s.limit(1);
Stream<Integer> s = Stream.of(1, 2, 3);
Integer i = s.limit(1).limit(1).findFirst().orElse(null); // returns 1;
s.peek(System.out::println).limit(1)
不会打印任何内容。 - Klaus Schulz