0

私は現在、BuildingComplexタイプのサブクラスのみを保持するClassタイプの配列を持っています。基本的に、私が作成しているゲーム用に構築できるさまざまなクラスをすべて保持しています。

private static Class[] AVAILABLE = new Class[]{
   LumberCamp.class, Farm.class, Storehouse.class, Port.class, Barracks.class, Edifice.class
};

これらのクラスの1つ(BuildingComplexからの継承のためにこの静的変数を持つすべて)から静的変数にアクセスしたい場合、Classをキャストするリソースが見つからないため、AVAILABLE[i]に静的変数にアクセスさせる方法を決定できません。特定のクラスに。

前もって感謝します。

4

1 に答える 1

0

あなたの質問を完全に理解しているかどうかわかりませんが、このようなものを探していますか?

@SuppressWarnings("unchecked")
private static Class<? extends BuildingComplex>[] AVAILABLE = new Class<? extends BuildingComplex>[]{
   LumberCamp.class, Farm.class, Storehouse.class, Port.class, Barracks.class, Edifice.class
};
于 2012-07-30T16:26:48.437 に答える