使用 lambda 表达式时无法解析方法“split(java.lang.String)”

我正在尝试使用 lambda 表达式拆分 String 数组。但是它告诉我拆分方法无法解析。我这样做是为了将 String 类型的 Java Spark RDD 解析为 double。


JavaRDD parsedData = data.map(s -> {

                String[] sarray = s.split(" ");

                double[] values = new double[sarray.length];

                for (int i = 0; i < sarray.length; i++) {

                    values[i] = Double.parseDouble(sarray[i]);

                }

                return Vectors.dense(values);

            });

            parsedData.cache();


白猪掌柜的
浏览 127回答 1
1回答

达令说

如果像评论中所说的那样, data 是 type Stream<Object>,那么这段代码应该可以完成这项工作:JavaRDD parsedData = data.map( o -> o.toString() )&nbsp; &nbsp; .map( s ->&nbsp;&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; String[] sarray = s.split( " " );&nbsp; &nbsp; &nbsp; &nbsp; double[] values = new double [sarray.length];&nbsp; &nbsp; &nbsp; &nbsp; for( int i = 0; i < sarray.length; i++ )&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; values[i] = Double.parseDouble( sarray[i] );&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return Vectors.dense( values );&nbsp; &nbsp; });&nbsp; &nbsp; parsedData.cache();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java