添加泛型类型对象

tom*_*322 1 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;

}
Run Code Online (Sandbox Code Playgroud)

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

qqi*_*ihq 8

仍然,在你编辑之后,它还不清楚是什么T.如果你能够将它缩小到Number(这是超类Integer,并Double为你所提到的),下面的工作:

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

for (Number number : numbers) {
    sum += number.doubleValue();
}
Run Code Online (Sandbox Code Playgroud)