[英]Flatmap in java: is the lambda really necessary?
这是一个代码示例(来自 Mykong.com):
String[][] data = new String[][]{{"a", "b"}, {"c", "d"}, {"e", "f"}};
//Stream<String[]>
Stream<String[]> temp = Arrays.stream(data);
//Stream<String>, GOOD!
Stream<String> stringStream = temp.flatMap(x -> Arrays.stream(x));
如果我理解正确,这里的 lambda 正在执行实际的展平,但 flatMap 无法理解需要进行展平以便可以省略 lambda?
编辑: flatMap 是否可以使用默认的 lambda 来以“直观”的方式进行转换?
不需要 lambda,您可以通过方法引用完成同样的事情。 在实践中,这两种方法是相同的。
最后一行可能是:
Stream<String> stringStream = temp.flatMap(Arrays::stream);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.