为什么泛型类型只能为静态方法定义?



《Java编程入门》一书中说:"可以为静态方法定义泛型类型。"为什么实例方法不能是泛型的?

实例方法可以是泛型的。下面的代码可以用Java 5或更高版本进行编译。如您所见,我以同样的方式定义了一个泛型实例方法和一个泛型静态方法。

package com.company;
public class Generics {
    public <T> T returnAGenericType(T returnThisOne) {
        return returnThisOne;
    }
    public static <T> T returnAGenericTypeStatic(T returnThisOne) {
        return returnThisOne;
    }
}

ArrayList::toArrayArrayList::getArrayList::set都是具有泛型类型参数的实例方法的例子。

最新更新