这是我必须实现的简化方法:
class Sample<T> {
Class<List<T>> getType() {
}
}
所以它的解决方案可能是:
class Sample<T> {
final Class<List<T>> type;
Sample(Class<List<T>> type) {
this.type = type;
}
Class<List<T>> getType() {
return type;
}
static void test() {
@SuppressWarnings("unchecked")
Class<List<Integer>> clazz = (Class<List<Integer>>) (Class<?>) List.class;
Sample<Integer> sample = new Sample<>(clazz);
}
}
有没有办法在实例化clazz时避免警告?
甚至更好 - 避免在构造函数中传递它,只是根据类类型获得所需的结果?
谢谢!