【发布时间】:2015-03-20 22:47:19
【问题描述】:
Number[][] intArray = new Integer[][]{ {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
double[][] doubleArray = Arrays.stream(intArray)
.forEach(pArray -> Arrays.stream(pArray)
.mapToDouble(d ->d.doubleValue())
.toArray())
.toArray();
我想将 Number[][] 转换为 double[][]。上面的 lambda 不起作用,外部的 toArray 没有编译。
Arrays.stream(intArray) : 返回一个 Integer[] 流
forEach :对于每个 Integer[],创建一个 Integer 流,将每个 Integer 转换为 double 并返回一个 double[]。
for each 创建了 double[],我认为外部 toArray 会返回这个 double[] 的数组
我怎样才能让它工作?
【问题讨论】:
标签: java arrays lambda 2d java-8