申し訳ありませんが、正しい用語を使用しているかどうかはわかりませんが、基本的にEntityList
はArrayListを拡張するというクラスを作成したいのですが、作成したインターフェースEntityInterface
が基本的にEで使用されるようにしたいですすべての瞬間なEntityList
ので、手動で宣言する必要はありません。
コードに関しては、これを入れられるようにしたい
EntityList entityList = new EntityList();
これと同等の結果を得る
EntityList<EntityInterface> entityList = new EntityList<EntityInterface>();
ここから先に進む方法が本当にわかりません。ここに問題への私の試みがありました。
import java.util.ArrayList;
//right now just a class that extends ArrayList designed to hold Entities.
public class EntityList<EntityInterface> extends ArrayList<EntityInterface> {
EntityList(){
}
}
問題を表示できる最善の方法は、arraylist がインスタント変数であるかのように表示することです。
import java.util.ArrayList;
//right now just a class that extends ArrayList designed to hold Entities.
public class EntityList<EntityInterface> {
ArrayList al = new ArrayList();
EntityList(){
}
}
ただし、これは基本的に私が望むものであり、ここでも可変形式であり、形式を拡張しません。
import java.util.ArrayList;
//right now just a class that extends ArrayList designed to hold Entities.
public class EntityList<EntityInterface> {
ArrayList<EntityInterface> al = new ArrayList<EntityInterface>();
EntityList(){
}
}
私がこのようなことをしたら、
public class EntityList<? implements EntityInterface> extends ArrayList<?> {
このスレッドに基づいて動作するはずです。 ジェネリック: ? の ArrayList Java で ISomeInterface を拡張します
ただし、このコードを変更してEclipseで試した後:
public class EntityList<E implements EntityInterface> extends ArrayList<E> {
および public class EntityList extends ArrayList { どちらも Eclipse でエラーをスローしていました。Java 6 を使用しています。使用しているサブバージョンがわかりません。それがエラーを修正する場合、私はJava 7を持っています。試してみます。