如果我有一个扩展 MySuperClass 的子类,并且我有以下泛型类:
public class GenericClass<M extends MySuperClass>{
public void aMethod(M m);
}
public class SubClass1 extends MySuperClass{}
然后我做:
SubClass1 sc1 = new SubClass1();
GenericClass<MySuperClass> msc = new GenericClass<MySuperClass>();
msc.aMethod(sc1);
是确定参数化类型是否合法的类型擦除?我认为编译器可以查看M extends MySuperClass
、查看并确定其合法性——但我不确定类型擦除是否处理了这个问题?