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

时间:2015-08-03 23:32:04

标签: java generics

Book,Java Programming简介说,“可以为静态方法定义泛型类型。” 为什么实例方法不能通用?

1 个答案:

答案 0 :(得分:3)

实例方法可以是通用的。以下代码使用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都是具有泛型类型参数的实例方法的示例。