下面的代码使用lambda expression
创建空的地图Stream
,下一行用于输出流中的任何元素。但是在运行代码时它会给出无限的输出。我不知道为什么,因为地图是空的,它应该打印{}
一次。有人可以解释发生了什么事吗?Java 8无限流输出
Stream<Map<String,String>> mapStream = Stream.generate(() -> {
return Collections.emptyMap();
});
mapStream.forEach(System.out::println);
当你阅读'Stream#generate'的javadoc时,你不明白什么? –