我阅读了有关此的所有其他问题,但我不明白为什么在我的情况下会出现类型擦除。我有
public <T extends Aclass&Binterface> boolean test(final T param) {
...
}
public boolean test(final Aclass pOtherPPShape) {
...
}
方法 test(Aclass) 与 ClassName 类型中的另一个方法具有相同的擦除测试 (Aclass)
我应该如何编写两种对同一个类进行操作但一种具有接口而一种没有接口的方法?(我无法修改 AClass,因为它来自外部库,并且有很多子类型可以使用此代码)
在这种情况下使用 instanceof 是否正确?
编辑:我在碰撞测试中使用它。如果传递的形状是接口的实例,我会得到一个碰撞掩码(带有接口的方法),然后调用“检查器”,如果不是,我想实例化一个虚拟碰撞掩码,它会做一些不同的事情并传递给“检查器”的相同方法(具有 2 个形状和 2 个 collisonmasks 作为参数)