我被要求实施以下方法:
public static double sum(ArrayList<Integer> list)
所以我想出了:
public static double sum(ArrayList<Integer> list)
{
int sum = 0;
for (Integer element : list)
{
sum += element;
}
return sum;
}
现在我要求重构该方法,使其参数可以是任何数字类型的ArrayList
。我试过了:
public static <T> double sum(ArrayList<T> list)
{
double sum = 0;
for (T element : list)
{
sum += element;
}
return sum;
}
但这不起作用,因为+
没有为通用类型T
定义。我还尝试N
代替T
,但仍然遇到了同样的错误。任何提示?