通常,由于类型擦除,您不能这样做。有关更多详细信息,请参见Angelika
Langer的Java泛型常见问题解答。
您 可以 做的是将a传递给
Class<T>构造函数,然后检查:
public MyClass<T>{ private final Class<T> clazz; public MyClass(Class<T> clazz) { this.clazz = clazz; } public void myMethod() { if (clazz == String.class) {... } }}
请注意,尽管如此,Java仍不允许将原语用于类型参数,因此
int实在不行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)