Java 添加泛型类型对象
我有一个泛型类型的数组列表,我正在尝试创建一个方法来计算平均值,但是我不能在不先强制转换的情况下添加泛型,但是我假设传入整数或双精度,我如何才能做到这一点Java 添加泛型类型对象,java,generics,arraylist,Java,Generics,Arraylist,我有一个泛型类型的数组列表,我正在尝试创建一个方法来计算平均值,但是我不能在不先强制转换的情况下添加泛型,但是我假设传入整数或双精度,我如何才能做到这一点 private ArrayList<T> grades; public double computeAverage() { double average = 0; double sum = 0; for (int i = 0; i < grades.size(); i++) { s
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;
}
private ArrayList等级;
公共双计算平均值()
{
双平均=0;
双和=0;
对于(int i=0;i sum=sum+grades.get(i);不过,在编辑之后,还不清楚什么是T
。如果您能够将其缩小为数字(这是您提到的整数和双精度的超类),以下操作将起作用:
List<Number> numbers = new ArrayList<Number>();
for (Number number : numbers) {
sum += number.doubleValue();
}
List number=new ArrayList();
用于(编号:编号){
sum+=number.doubleValue();
}
但是,在编辑之后,还不清楚什么是T
。如果您能够将其缩小为数字
(这是您提到的整数
和双精度
的超类),则以下操作将起作用:
List<Number> numbers = new ArrayList<Number>();
for (Number number : numbers) {
sum += number.doubleValue();
}
List number=new ArrayList();
用于(编号:编号){
sum+=number.doubleValue();
}
你的错误是什么?另外,展示你是如何定义等级的。好的,我很高兴你向我们展示了你的错误。现在,T
是在类级别声明的吗?你如何实例化这个对象的实例?@Makoto我想信息在这里并不重要。显然我们不能使用+
运算符和类型T
。你的错误是什么?另外,展示你如何定义等级
。好的,我很高兴你向我们展示了你的错误。现在,T
是在类级别声明的吗?你如何实例化这个对象的实例?@Makoto我想信息在这里并不重要。显然,我们不能将+
运算符与T
类型一起使用。