我尝试创建一个允许Java中类似元组的结构的元组类.元组中两个元素的一般类型分别是X和Y. 我试图覆盖这个类的正确等于.
事实是,我知道Object.equals是默认的,它仍然会根据像"=="这样的引用进行比较,所以我不太确定我可以使用它.我查看了对象,其中有一个equals().这个仍然可以在引用上进行比较,还是在内容上进行比较?
快速想象返回语句如下:
return Objects.equals(compared.prev, this.prev) && Objects.equals(compared.next, this.next);
prev和next的元素是元组的元素.这会有用吗?
不同之处在于Objects.equals()
认为两个零点是"相等的".伪代码是:
如果两个参数都是null
相同的对象,则返回true
如果第一个参数是null
returnfalse
返回将第二个参数传递给第一个参数的equals()
方法的结果
这意味着它是"null safe"(equals()
尽管第一个参数的方法是非null安全的实现).