【发布时间】:2010-09-26 18:58:30
【问题描述】:
我想要一个方法来计算 Integer、Double 和 Float 类型的 LinkedList 的平均值。
问题在于sum += i; 语句,因为java 表示没有为Object 类型定义+ 运算符。
我可以进行强制转换,但如果 LinkedList 是浮点类型,例如,并且强制转换是整数,我就不会计算正确的平均值。
我该怎么办?谢谢。
public double mean (LinkedList<?> l)
{
double sum = 0;
int n = 0;
for (Object i : l)
{
n++;
sum += i;
}
return sum / n;
}
【问题讨论】:
-
您不应该需要
LinkedList,因为您所做的一切都是在迭代l中的元素。只需使用Iterable<? extends Number>。