不明白这种equals方法的实现

Mil*_*ita 2 java oop methods equals

几天前,我的教授告诉我们如何实现equals方法等等.

这是他的equals方法的代码示例,我不明白一个部分:

public boolean equals(Object obj) {
    if (this == obj)
        return true;
    if (obj == null)
        return false;
    if (getClass() != obj.getClass())
        return false;
    Knjiga other = (Knjiga) obj;
    return Objects.equals(isbn,other.isbn);
}
Run Code Online (Sandbox Code Playgroud)

在第一个if语句中,他检查这个(当前对象)是否与对象obj具有相同的引用(这是==运算符的作用?只比较两个引用)

如果他们得到相同的参考,它将返回真实?但我们永远不会检查其他字段,例如isbn以及我们可以提供的更多字段,因为如果这两个对象具有相同的引用,方法将永远不会出现.

在我看来,这个方法类似于double equals operator cuz这两个中的任何一个都不会检查字段,只是引用?

Era*_*ran 8

如果被比较的两个对象具有相同的引用,则这是相同的对象,并且在比较任何其他内容时没有意义.您可以true立即返回并保存一些比较.

在这种情况下,其他属性保证相同.