私はこれらのクラスを持っています
class SuperParent {
@Override
public String toString() {
return "SuperParent";
}
}
class A extends SuperParent {
@Override
public String toString() {
return "A";
}
}
class B extends SuperParent {
@Override
public String toString() {
return "B";
}
}
List
そして、私はArrayListsを持ちたいので、BとAのArrayListに追加できます。
List<ArrayList<?extends SuperParent>> mList = new ArrayList<ArrayList<SuperParent>>();
しかし、コンパイルされません
私がこれを試したとき、
ArrayList<ArrayList<SuperParent>> mList = new ArrayList<SuperParent>>();
コンパイルされますがArrayList
、A
sまたはArrayList
sB
のs を追加できません
私はJavaの型と継承も理解していますが、ジェネリックスに関してはそれが恋しいです。どんな参照や宣言も私を助けてくれるでしょう。