擦除和类型推断有一些问题。我有以下类层次结构,看起来并不复杂:
public class Foo<T> {
}
public class Bar<T> {
private final Class<T> clazz;
public Bar(Class<T> clazz) {
this.clazz = clazz;
}
}
我想做的是这样的:
Bar<Foo<?>> bar = new Bar<>(Foo.class);
当然,这不起作用,因为 Foo 不完全是Foo<?>
. 问题是如何构建这样的 Bar?我需要Bar<Foo<?>>
,而不是Bar<Foo>
,因为有只接受Bar<Foo<?>>
作为参数的方法。欣赏想法。