gpt4 book ai didi

java - Joshua Bloch 的 Effective Java 中的 Equals 方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:20:11 27 4
gpt4 key购买 nike

请看这个link Joshua Bloch 的 Effective Java。

在第二段中,作者说:

The class is private or package-private, and you are certain that its equals method will never be invoked. Arguably, the equals method should be overridden under these circumstances, in case it is accidentally invoked:

@Override public boolean equals(Object o) {
throw new AssertionError(); // Method is never called
}

请解释一下。我对作者使用术语私有(private)类感到困惑,这就是为什么在我们确定不会调用 equals 方法时需要覆盖它。

最佳答案

只有内部类才能是私有(private)类。

至于“为什么”需要重写equals,原因是按照您所展示的方式编写它,您将确保该方法永远不会故意叫的六个月后的那一刻,当项目的新开发人员调用该类的 equals 时,该方法抛出并表明调用它是不正确的。这是好事;它可以防止“忘记”它。

关于java - Joshua Bloch 的 Effective Java 中的 Equals 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208408/

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