根据标题,
为什么List<MyType>.class
不起作用?如何获取此类的类(作为类型参数传递给函数)。
答案 0 :(得分:1)
在Java中,List<MyType>.class
是List.class
。由于所谓的“类型擦除”,这两者是等价的。
答案 1 :(得分:1)
Java泛型基于type erasure - 在运行时不存在单个对象的类型参数。如果您描述了您特别想要实现的目标,我们可能会想出一个解决方法。
答案 2 :(得分:0)
您还可能希望指出泛型隐含的约定在编译时强制执行。编译器执行正确的强制转换,检查类型,然后键入擦除。
答案 3 :(得分:0)
Google GSon Library的解决方案是使用TypeToken:
Type a = new TypeToken<List<MyClass>>() {}.getType();