java - 添加通用类型对象

标签 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 参数类型的运算符 + 未定义,

最佳答案

在您的编辑之后,仍然不清楚 T 是什么。如果您能够将其缩小到一个 Number(这是您提到的 IntegerDouble 的父类(super class)),则以下内容将工作:

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

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

关于java - 添加通用类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21972488/

相关文章:

java - 正则表达式 : How to add list as condition to satisfy regex in java

Swift:使用泛型类型参数创建对象数组

android - 如何用逗号分隔数组列表值并放入hashmap

java - 在Android中的TouchImageView中水平和垂直滚动ImageView?

java - 使用 HttpClient 4.2 从失败的连接尝试中获取服务器证书

java - Bluemix 上的 Redis

java - 克隆()不可见

相同类型的 Java 泛型约束

c# - 如何基于数组列表创建动态按钮

java - 数组列表中的对象不断替换?