首页 > 解决方案 > 将数组传递给构造函数并出现“无法将 double [] 转换为 int”错误

问题描述

我试图将一个简单的数组传递给一个类的构造函数,并不断收到“无法将 double[] 转换为 int”错误。我真的不知道为什么。

import java.util.*;

public class Demo {
    public static void main(String[] args) {
        double[] data = {1,2,3,4,5,6,7,8,9,10,11,12};
        Rainfall[] rain = new Rainfall[data];   
    }
}


import java.util.*;

public class Rainfall {
    private double[] monthlyRain;

    public Rainfall(double [] array) {
        monthlyRain = array;
    }
}

我的 IDE 一直在“数据”下方显示一条红色波浪线

Rainfall[] rain = new Rainfall[data]; 

在主要方法中。

标签: javaarraysparameter-passing

解决方案


改用这个......你错误地调用了构造函数......Rainfall[] rain = new Rainfall[data];

public class Demo {
    public static void main(String[] args) {
        double[] data = {1,2,3,4,5,6,7,8,9,10,11,12};
        // Rainfall[] rain = new Rainfall[data];   wrong...
           Rainfall[] rain = new Rainfall[]{new Rainfall(data) }; // correct
    }
}

问题是......Rainfal[]Rainfall包含一组对象......不是一个......所以这就是......正确的方法......对不起错误......


推荐阅读