[英]Java casting “.class”-operator used on a generic type, e.g. List, to “Class<List<?>>” and to “Class<List<Integer>>”
[英]How to call .class for a class with type parameter? E.g. List<String>.class
从一个简单的例子开始,调用List<String>.class
导致编译错误,我可以调用List.class
来实现我的目的。
最近,我正在做与Spring REST模板相关的事情。 我必须为getForObject
方法输入一个类对象。 我有这样一堂课: Foo<T>
。
结果是,我无法提供Foo<Bar>.class
作为参数之一。 有人可以帮忙吗?
你不能这样做,因为在运行时不存在的类型,因为类型擦除 。
当程序执行时,只有List.class
- 没有List<String>.class
这样的东西,只提供一个List.class
。
如果确实需要传递类型的类,请更改方法以接受Class<T>
参数并传递String.class
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.