java - flatMap() 将 LinkedList<String> 流转换为 String 流

标签 java java-8 java-stream flatmap

我的目标正是标题所说的。我正在做的是:

.stream().flatMap(x -> x.getTitles())

getTitles()返回 LinkedList<String> ,我预计 flatMap()完成这项工作并创建字符串流而不是 LinkedList<String> 流,但是 Eclipse 说:

Type mismatch: cannot convert from LinkedList<String> to Stream<? extends Object>

我该怎么做? (我需要用流来做,这都是更大的流计算的一部分)

最佳答案

flatMap 期望映射到流,而不是集合。使用

.stream().flatMap(x -> x.getTitles().stream())
//                                   ^^^^^^^^ add this

关于java - flatMap() 将 LinkedList<String> 流转换为 String 流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30988893/

相关文章:

java - 尽管 RAM 显示 6 GB 可用空间,但 Java 运行时环境的内存不足无法继续

java - 转换为List后如何迭代方法中的元素?

java - 在 Memcache 上工作时出现不可序列化的对象错误

java - 为什么 protected 方法不被Spring AOP拦截

java - 收集流时如何使用Guava的Multisets.toMultiSet()?

java - 使用 Java 8,当且仅当它具有空值时,如何为 List<Object[]> 中的 obj[4] 设置字符串常量?

java - lambda 中使用的循环变量

java - 将列表映射到 map 中的 DTO - java

java - 用于组合两个 Maybe 的 RxJava2 习语

java - Comparator.comparing 使用嵌套对象的字段对列表进行排序