Java 简单等于方法中的堆栈溢出错误?(Eclipse)

Java 简单等于方法中的堆栈溢出错误?(Eclipse),java,stack-overflow,Java,Stack Overflow,所以我在我的计算机科学课上做一个作业,我几乎完成了,但是我在代码方面遇到了问题。在我找到equals方法之前,它一直工作得很好。这是一个名为文档的ArrayList对象的代码。问题是我的第85行代码中出现了StackOverFlow错误,这是一个小方法: public boolean equals(Document other) { return this.equals(other); } 有人知道这里出了什么事吗? 谢谢您的帮助。这是equals方法的错误实现。您应该比较文档对象的实

所以我在我的计算机科学课上做一个作业,我几乎完成了,但是我在代码方面遇到了问题。在我找到equals方法之前,它一直工作得很好。这是一个名为文档的ArrayList对象的代码。问题是我的第85行代码中出现了StackOverFlow错误,这是一个小方法:

public boolean equals(Document other) {
    return this.equals(other);
}
有人知道这里出了什么事吗?
谢谢您的帮助。

这是equals方法的错误实现。您应该比较文档对象的实例变量

乙二醇


你的实现是错误的。下面是一个正确实施的示例:

@Override
public boolean equals(final Object o) {
    if (!(o instanceof Document)) {
        return false;
    }
    Document that = (Document) o;
    return Objects.equals(title, that.title); // compare all necessary fields
}
equals()调用equals(),它调用equals(),等等。可能是
@Override
public boolean equals(final Object o) {
    if (!(o instanceof Document)) {
        return false;
    }
    Document that = (Document) o;
    return Objects.equals(title, that.title); // compare all necessary fields
}