libgdx では、抽象クラスを使用して簡単にプールを作成できますPool
。これは抽象クラスであるため、次のように構築するときにメソッドを匿名でオーバーライドする必要があります。
public Pool<String> pool = new Pool<String>() {
@Override
protected String newObject() {
return new String();
}};
私が今やろうとしているのは、次のような抽象 BaseClass を拡張するジェネリック型 T のワイルドカードを配置することです。
protected static Pool<? extends GameCommand> commandPool = new Pool<? extends GameCommand>() {
@Override
protected <T extends GameCommand> newObject() {
return new T();
}
};
しかし、それはうまくいきません。どうすれば入手できますか?
newObject() をオーバーライドする場合、どのような型を挿入する必要がありますか?
編集: プールは、次のような抽象メソッドを参照します:
abstract public class Pool<T> {
(...)
abstract protected T newObject ();
(...)
}