hod*_*r92 0 java inheritance arraylist
我试图理解inhertitance和ArrayList是如何工作的,所以我有以下代码它有一个类,它是保存数据的数据库
public class Database {
ArrayList<Student> students;
ArrayList<Course> courses;
public boolean doesIDExist(ArrayList<RegistrationSystem> array, int id){
boolean exist = false;
for (RegistrationSystem array1 : array) {
if (array1.getId() == id) {
exist = true;
break;
}
}
return exist;
}
public boolean addStudent(int id, String name, String surname){
if( doesIDExist(students, id)){
return false;
}
students.add(new Student(id, name, surname));
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
学生和课程都是注册系统的子类
public class RegistrationSystem {
protected int id;
public int getId() {
return id;
}
}
Run Code Online (Sandbox Code Playgroud)
但是我在这一行中收到错误:
if( doesIDExist(students, id))
Run Code Online (Sandbox Code Playgroud)
incompatible types: ArrayList< Student > cannot be converted to ArrayList< RegistrationSystem >
我不太明白为什么我会收到这个错误!
您的方法期望列表RegistrationSystem不是列表Student.
你必须改为:
public boolean doesIDExist(ArrayList<? extends RegistrationSystem> array, int id){
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
103 次 |
| 最近记录: |