我有一个数组列表,其中记录存储为对象。在另一种形式中,我允许用户输入一个 id 并使用相应的 id 检索该记录的数据。
我的问题是,我只能检索一条记录,这意味着只有我存储在 arraylist 中的第一条记录。
如果我输入第二条记录并且尝试使用 id 搜索记录,我会收到消息“invalid id”,这是我为确保用户不会输入无效 id 而分配的消息。
这是我用来将对象存储到数组列表中的代码:-
patient_class patients=new patient_class(firstname,lastname,initials,gender,birthday,birthmonth,birthyear,contactnumber,address,bloodgroup,patientid);
patientlist.add(patients);
这是我检查arraylist是否包含id的代码。
public boolean checkrecord(ArrayList<patient_class>patients,String search)
{
for(patient_class patient : patients)
{
if(patient.getid().contains(search))
{
return true;
}
}
return false;
}
如果这是真的,我创建了一个单独的构造函数来查找给定 ID 的记录。
这是代码:-
public patient_class searchrecord(ArrayList<patient_class> patients, String search)
{
for(patient_class patient: patients) //used enhanced for loop
if(patient.getid().equals(search))
{
return patient;
}
else
{
return null;
}
return null;
}
为什么我只能在 arraylist 中输入一条记录而不是 2 条记录?当我输入第二条记录并单击注册时,我的程序显示“成功注册”,但我无法搜索该记录,但我可以使用我制作的另一种方法删除该记录。
做错了什么?