gpt4 book ai didi

java - 如何检测同一类型的两个对象中的所有变量是否相同?

转载 作者:行者123 更新时间:2023-12-01 18:57:33 25 4
gpt4 key购买 nike

假设我有两个对象,AB,其中..

Object A=new Object();
Object B=A;

这些对象默认都有两个 int:int Xint Y。首先,在 AB 中,

(X == 0) && (Y == 0)

因此,您会说这两者是相等的,Java 也是如此。现在,假设我们更改 A.X 以便 A.X=2。现在,AB 不再相等,因为

A.X==2

..但是..

B.X==0

然而,Java 仍然表示它们是平等的。

(A.equals(B)) == true
(B.equals(A)) == true

那么,你如何解决这个问题呢?

最佳答案

通过执行此Object B=A;,您并没有创建一个新对象,但B仅指向A。所以它只有一个对象。

因此,当您更改 A.X = 2 时,B.X 在引用相同变量时也是 2,因此相等。

您可以通过打印 B.X 值来验证这一点。

关于java - 如何检测同一类型的两个对象中的所有变量是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13390393/

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