gpt4 book ai didi

java - Objects.equals 和 Object.equals

转载 作者:IT老高 更新时间:2023-10-28 21:11:58 26 4
gpt4 key购买 nike

我尝试创建一个允许在 Java 中使用类似元组的结构的元组类。元组中两个元素的一般类型分别是 X 和 Y。我尝试为此类覆盖正确的等号。

事情是,我知道 Object.equals 属于默认值,它仍然根据“==”之类的引用进行比较,所以我不太确定我可以使用它。我查看了 Objects ,其中有一个 equals() 。这个还是比较引用文献,还是比较内容?

很快就把return语句想象成这样:

return Objects.equals(compared.prev, this.prev) && Objects.equals(compared.next, this.next);

prev 和 next 是元组的元素。这行得通吗?

最佳答案

不同之处在于 Objects.equals() 将两个空值视为“相等”。伪代码为:

  1. 如果两个参数都是null或者同一个对象,返回true
  2. 如果第一个参数为null,则返回false
  3. 返回第二个参数传递给第一个参数的equals()方法的结果

这意味着它是“空安全的”(尽管第一个参数的 equals() 方法的非空安全实现)。

关于java - Objects.equals 和 Object.equals,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34486832/

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