这是一个可以解释我的问题的示例:
public class Scratch {
public <T> Set<T> method(Class<T> clazz){return null;}
public static void main(String[] args){
Scratch s=new Scratch();
Set<List<String>> list=s.method(List.class); //Gives error here. How do I say List<String>.class?
}
}
我很想说List<String>.class
对于上面的 clazz 变量,但这不是合适的语法。我只是以错误的方式使用泛型吗?
最佳答案
这是语言和标准库的限制。
解决方法是简单地进行强制转换
(Class<List<String>>)(Class)List.class
关于java - 如何指定包含泛型的类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14263082/