Java泛型类为什么不能持有静态泛型变量

如下,会出现编译错误,请问这样设计的目的为什么?

public class GenericTest<AnyType> {
    private static AnyType storedValue;//编译错误

    public static AnyType read(){//编译错误
        return storedValue;
    }
}
阅读 5.2k
2 个回答

static变量在一个类里面只会有一份,请问它如何能够有不同的类型?

GenericTest<String> 和 GenericTest<Integer> 经过泛型擦除后就是 GenericTest 类,这个类只有一个storedValue,如果允许泛型就会有歧义。

推荐问题