嵌套泛型继承
2022-09-02 21:21:47
我有以下类:
class Field<T> {
private final Class<T> type;
public Field(Class<T> type) {
this.type = type;
}
}
class Pick<V> {
private final V value;
private final Class<V> type;
public Pick(V value, Class<V> type) {
this.value = value;
this.type = type;
}
}
和问题相关的类:
class PickField<T> extends Field<Pick<T>> {
public PickField(Class<Pick<T>> type) {
super(type);
}
}
现在,这似乎已被编译器接受。不幸的是,我不知道/理解如何创建一个新的实例,例如用于 picks。PickField
String
当然,这确实不起作用:new PickField<String>(Pick.class)
这是不允许的(我想我明白为什么):new PickField<String>(Pick<String>.class)
那么该怎么做呢?还是整个方法以某种方式“闻到”?