gpt4 book ai didi

java - 在 Java 8 中使用stream()和map()返回 double 组

转载 作者:行者123 更新时间:2023-11-30 06:09:37 24 4
gpt4 key购买 nike

我有一个名为 FileDb 的类,其中包含一个 ParamAnalysis 类型的对象列表的属性:

public class FileDb {
private List<ParamAnalysis> paramsAnaylsis;

ParamAnalysis 包含一堆 double 类型的值:

public class ParamAnalysis {
double max;
double min;
...

我想获取列表 paramsAnaylsis 中的所有“最大值”。所以我正在做:

public static double[] getMaxesFromDb(FileDb fileDb){
return fileDb.getParamsAnaylsis().stream().map(paramAnalysis -> Double.valueOf(paramAnalysis.getMax())).toArray();
}

但我发送错误:

Error:(35, 120) java: incompatible types: java.lang.Object[] cannot be converted to double[]

如何从该方法获取 double 组?

最佳答案

您应该使用mapToDouble来接收DoubleStream并以toArray()结束。您收到异常的原因是,即使您转换为 Double,它仍然是一个对象。

fileDb.getParamsAnaylsis()
.stream()
.mapToDouble(paramAnalysis -> paramAnalysis.getMax()) <-- creates a stream of primitive doubles
.toArray();

关于java - 在 Java 8 中使用stream()和map()返回 double 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50556026/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com