为什么列表<mytype> .class不起作用?</mytype>

时间:2012-02-01 23:46:43

标签: java generics

根据标题, 为什么List<MyType>.class不起作用?如何获取此类的类(作为类型参数传递给函数)。

4 个答案:

答案 0 :(得分:1)

在Java中,List<MyType>.classList.class。由于所谓的“类型擦除”,这两者是等价的。

答案 1 :(得分:1)

Java泛型基于type erasure - 在运行时不存在单个对象的类型参数。如果您描述了您特别想要实现的目标,我们可能会想出一个解决方法。

答案 2 :(得分:0)

您还可能希望指出泛型隐含的约定在编译时强制执行。编译器执行正确的强制转换,检查类型,然后键入擦除。

答案 3 :(得分:0)

Google GSon Library的解决方案是使用TypeToken:

 Type a = new TypeToken<List<MyClass>>() {}.getType();