擦除和类型推断有一些问题。我有以下类层次结构,看起来并不复杂:
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<?>>作为参数的方法。欣赏想法。