私はこのような基本抽象クラスを持っています:コンパイルでジェネリックリスト
public class Subject extends BaseChildParentModel {
//some fields
public ArrayList<Subject> ChildSubjects;
@Override
public <E extends BaseModel> List<E> getChildren() {
return ChildSubjects;
}
@Override
public <E extends BaseModel> List<E> createChildList() {
ChildSubjects = new ArrayList<>();
return ChildSubjects;
}
}
私は、次の取得エラー:
Error:(52, 16) error: incompatible types
required: List<E>
found: ArrayList<Subject>
where E is a type-variable:
E extends BaseModel declared in method <E>getChildren()
と
Error:(58, 16) error: incompatible types
required: List<E>
found: ArrayList<Subject>
where E is a type-variable:
E extends BaseModel declared in method <E>createChildList()
私のせいですか?
公共のArrayListを変更してみてくださいChildSubjects。公開リストに ChildSubjects; –
私はそれを変更しますが、同じエラーが発生します。 –
下の私の答えを試してください –