具有泛型类型的算术

时间:2016-06-23 18:22:32

标签: java generics operators

我被要求实施以下方法:

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,但仍然遇到了同样的错误。任何提示?

0 个答案:

没有答案