double 不能转换为 double []

double cannot be converted to doubel []

private void calculateProducedEnergy() {
        for (Integer s : mWeatherProfile.getSunshine()) {
            for (Double w : mWeatherProfile.getWeatherConditions()) { 
            mProducedEnergy = s * w * mPvSystem.getEfficiency() * mPvSystem.getPanelSurface();
            }                           
        }
    }

错误:double 无法转换为 double []
mProducedEnergy 是一个 double 数组 s & w 是 Arraylist double mPvSystem.getEfficiency() & mPvSystem.getPanelSurface() 是双打

如果 mProducedEnergy 是双精度数组,那么您不能将双精度值分配给双精度数组,您需要提供它所指向的索引。

以下假设 mProducedEnergy 是先前在全局范围内实例化的 double[] 数组,我假设这是因为你的函数没有 return 任何东西,所以你可能有一个像

这样的声明
private Double[] mProducedEnergy = new Double[..];

在代码中的函数之外但在 class

private void calculateProducedEnergy() {
    int index = 0;
    for (Integer s : mWeatherProfile.getSunshine()) {
        for (Double w : mWeatherProfile.getWeatherConditions()) { 
            mProducedEnergy[index] = s * w * mPvSystem.getEfficiency() * mPvSystem.getPanelSurface();
            index++;
        }                           
    }
}