gpt4 book ai didi

java - 检查对象是否与此属于同一类?

转载 作者:行者123 更新时间:2023-11-30 06:21:45 26 4
gpt4 key购买 nike

我在 Java 中有一个用于多种数据对象类型的基类。我想在基类中创建一个 equals 方法,它在继承时直接起作用。

相等是由两个对象决定的

  1. 属于基类的子类。这很容易实现,使用

    if (!(anObject instanceof BaseClass))
    return false;
  2. 具有相同的 ID。 ID 字段由基类定义,因此我们可以在这里对其进行测试。

    if (this.id != ((BaseClass) anObject).id)
    return false;
  3. 属于同一类。这就是我遇到的问题。两个对象可能属于不同类型(因此位于不同的列表中),但具有相同的 ID。我必须能够区分它们。我该怎么做?

最佳答案

使用

this.getClass() == anotherObject.getClass()

而不是 instanceof。仅当两个对象属于同一个类时才会返回 true(通过引用检查类对象是否相等是安全的)。然后你可以比较 id。

关于java - 检查对象是否与此属于同一类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20052155/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com