我有一个泛型类型的数组列表,我正在尝试创建一个方法来计算平均值,但我不能添加一个泛型而不先转换它,但我想传递整数或双倍我怎么能做这个?
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 参数类型的运算符 + 未定义,
最佳答案
在您的编辑之后,仍然不清楚 T
是什么。如果您能够将其缩小到一个 Number
(这是您提到的 Integer
和 Double
的父类(super class)),则以下内容将工作:
List<Number> numbers = new ArrayList<Number>();
for (Number number : numbers) {
sum += number.doubleValue();
}
关于java - 添加通用类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21972488/