私はまだJavaにはかなり新しいので、ここではっきりと分からないことがあります。クラスの型をメソッドに渡し、その型にキャストしますか?
I私はすべての私のエンティティのリストからクラス型を選択するために使用し、次のコードを持っている:正常に動作しますが、それは、このメソッドを呼び出すときに、私はまだそれをキャストする必要があることを意味
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」はタイプではなく、キャストに使うことができないと私に伝えます。
クラスの配列はどこに定義されていますか? – Antimony