これは Android アプリですが、おそらく Java でも同じことが起こります。LevelFactory や Level2Factory などの派生元である LevelFactory 型があります。これらのクラスの配列が必要なので、配列インデックスを指定してレベルをインスタンス化できます。
私はただ Class[] を持っていて、それらをそこに入れ、それらを使用する必要があるときにそれらを LevelFactory にキャストすることができますが、私は何をすべきか疑問に思っていました.
これは明らかに「互換性のない型」のエラーです。
new Class<LevelFactory>[] {Level1Factory.class,Level2Factory.class};
しかし、これも「汎用配列の作成」エラーであることに驚きました。
new Class<? extends LevelFactory>[] {Level1Factory.class,Level2Factory.class};
以下は機能しますが、変数に割り当てられると「未チェックの割り当て」警告が表示されます。
new Class[] {Level1Factory.class,Level2Factory.class};
最後の方法は、私が仕事に取り掛かることができる唯一のオプションです。警告を無視するだけですが、実際に可能であればジェネリックを使用したいと思います。