所以我有一个 Hospital 类,在它的内部,我有一个名为remove(Object object) 的方法,它检查参数输入是什么类型的对象。然后,在找到对象的实例后,我使用 equals 方法在 ArrayList 中查找要删除的对象。我的问题是,在使用对象之前是否必须将其转换为特定类型? 像这样的东西:........equals((Patient) object))?
public boolean remove(Object object) {
if(object instanceof Department){
departments.remove(object);
return true;
}
if(object instanceof Patient){
for(int i = 0; i < departments.size(); i ++){
for(int j = 0; j < departments.size(); j ++) {
if (departments.get(i).getPatients().get(j).equals(object)) {
departments.get(i).getPatients().remove(j);
return true;
}
}
}
}
if(object instanceof Employee){
for(int i = 0; i < departments.size(); i ++){
for(int j = 0; j < departments.size(); j ++) {
if (departments.get(i).getEmployees().get(j).equals(object)) {
departments.get(i).getEmployees().remove(j);
return true;
}
}
}
}
return false;
}
最佳答案
无需转换。如果正确实现,equals(object)
和 equals((Patient) object)
解析为相同的方法。
关于java - 在我的 contains 和 equals 方法中使用 Object 对象之前,是否必须将其转换为特定类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60237465/