如何将可选<T>转换为流<T>?

2022-08-31 13:04:21

我想在流前面加上一个可选。由于只能连接流,我有这个问题:Stream.concat

如何将可选<T>转换为流<T>?

例:

Optional<String> optional = Optional.of("Hello");
Stream<String> texts = optional.stream(); // not working

答案 1

如果受到 Java-8 的限制,您可以执行以下操作:

Stream<String> texts = optional.map(Stream::of).orElseGet(Stream::empty);

答案 2

在 Java-9 中,添加了缺少的方法,因此此代码有效:stream()

Stream<String> texts = optional.stream();

请参见 JDK-8050820。在此处下载 Java-9


推荐