我对 Java 还是很陌生,所以我可能在这里遗漏了一些明显的东西。
我有以下代码用于从我的所有实体列表中选择类类型:
public Array<?> PickEntities(Class<?> cls) {
Array<? super SpriteEntity> allEntities = new Array<Object>();
for (SpriteEntity entity : MyGame.AllEntities) {
if (entity.getClass() == cls) {
allEntities.add(entity);
}
}
return allEntities;
}
这很好用,但这意味着在调用此方法时,我仍然需要将其强制转换为另一端的类。例如:
asteroid = (Asteroid)PickEntities(Asteroid.class);
我想做的是使用我传递给我的 PickEntities 类的类(cls 参数),然后将返回的数组(allEntities)转换为该类型。
有没有办法做到这一点?每当我尝试时,它只会告诉我“cls”不是一种类型,不能用于强制转换。