小编pab*_*o53的帖子

与Stream.of()的Java 8错误 - 像流和连接它们?

为什么以下java 8代码在第二次调用get()时显示错误?

    Stream<String> aStream = Stream.concat(Stream.of("A"), Stream.of("B"));
    String a = stream.findFirst().get();
    String b = stream.findFirst().get();
Run Code Online (Sandbox Code Playgroud)

"aStream"流应该看到两个值:"A"和"B".但是,在第一个元素已被消耗之后尝试读取任何内容

    java.lang.IllegalStateException: stream has already been operated upon or closed
Run Code Online (Sandbox Code Playgroud)

这不是Java 8中的错误吗?首先,为什么不消耗的Stream.of()-created流返回OptionalisPresent()==false?第二,为什么不Stream.concatenate()正确连接这样的Stream.of()创建流?

java concatenation illegalstateexception java-stream

1
推荐指数
1
解决办法
95
查看次数