添加泛型类型对象

时间:2014-02-23 18:23:35

标签: java generics arraylist

我有一个泛型类型的数组列表,我正在尝试创建一个计算平均值的方法,但是我不能先添加一个通用而不先抛出它但是我想要传入整数或双倍我怎么能这样做?

private ArrayList<T> grades;

public double computeAverage()
{
    double average = 0;
    double sum = 0;

    for (int i = 0; i < grades.size(); i++) {
        sum = sum + grades.get(i);  <<< ERROR
    }

    average = sum/grades.size();

    return average;

}

错误:对于参数类型double,运算符+未定义,  Ť

1 个答案:

答案 0 :(得分:8)

编辑后,仍然不清楚T是什么。如果您能够将其缩小到Number(如上所述,这是IntegerDouble的超类),则以下内容将有效:

List<Number> numbers = new ArrayList<Number>();

for (Number number : numbers) {
    sum += number.doubleValue();
}