java - 在我的 contains 和 equals 方法中使用 Object 对象之前,是否必须将其转换为特定类型?

标签 java object casting

所以我有一个 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/

相关文章:

java - Java套接字服务器-客户端;卡在服务器端

java - 如何使用 JAXB 和 XJC 编写我的 XSD 以匹配所需的 XML 和 Java 格式

java - 让 Ant 把依赖的 jar 放在 ./lib

php - get_object_vars() 与强制转换为数组

c++ - std::vector<uchar> 到 char* 数据丢失

ios - Xamarin.iOS随机崩溃无效的强制转换异常

java - 如何判断一个字符串是 IP 还是主机名

objective-c - 从 NSSet 中获取对象

javascript - 在没有 "this"的情况下访问 JavaScript 中对象中的变量

javascript - 将变量同时用作函数和对象实例