我正在尝试找到一种优雅的方法来将Java转换为Stream<String>
数组。到目前为止,我得出的结论是:
Float[] data = input.map(Float::valueOf).toArray(Float[]::new);
但我实际上需要一个float[]
,当我尝试的时候:
float[] data = input.map(x -> Float.parseFloat(x)).toArray(size -> new float[]);
我得到一个错误,无法将Object[]
转换为float[]
,这是我不太理解的。
我做错了什么?
发布于 2018-06-24 00:12:28
对于我的库AbacusUtil,有一个更好的方法
float[] result = Stream.of(input).mapToFloat(Float::parseFloat).toArray();
发布于 2018-06-23 01:27:44
可以通过floatValue()方法使用Float对象中的值来创建数组:
Float[] data = input.map(Float::valueOf).toArray(Float[]::new);
float[] primData = new float[data.length];
for(int x = 0; x < data.length; x ++) {
primData[x] = data[x].floatValue();
}
https://stackoverflow.com/questions/50992339
复制相似问题