【问题标题】:Comparing two objects of same class using '==' (Java) [duplicate]使用'=='(Java)比较同一类的两个对象[重复]
【发布时间】:2015-09-14 13:51:55
【问题描述】:

我有两个从同一个类实例化的 java 对象。

Ob x = new Ob( );
Ob z = x;

既然是同一类型,难道不应该执行'if'部分的语句吗?

if (x == z) {
  //Do something
}
else {
   //Do something else
}

【问题讨论】:

  • 您提出问题的方式听起来好像您的代码没有按照(您认为的)应有的方式工作。如果是这种情况,您应该发布 minimal reproducible example 来重现您的问题。
  • I have two java objects,不。您在两个变量中有一个 javaobject。

标签: java object


【解决方案1】:

是的。

在 java 中,使用 == 运算符认为两个对象相等当且仅当它们指向内存中的相同位置,即它们具有相同的引用。

【讨论】:

    【解决方案2】:

    Ob z = x; 表示您只有一个对象,其中有两个变量引用它。因此x == z 为真。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-12
      • 2013-04-10
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多