【问题标题】:Java's eqaul's method getting instanceof as false [closed]Java等于方法将instanceof设为false [关闭]
【发布时间】:2018-03-01 10:00:19
【问题描述】:

我正在使用 Map 来存储一些数据,其中我的键被实现为具体类 KeyType,它的 hashCode 和 equals 被覆盖。

当我在地图中调用 get 方法时,if(other instanceof KeyType) 行返回 false。 运行时对象不应该能够知道它的具体类吗?

编辑:将在几分钟内包含代码

【问题讨论】:

  • 您能否为您的问题添加更多代码? other 是什么 KeyType 是什么你在哪里打电话等等。这个问题真的很模糊,不能这样回答。
  • 请提供示例代码。
  • 如果返回false,说明它不是KeyType的实例。所以这意味着它是空的,或者不是 KeyType,这表明你的代码中存在错误。但是你没有发布它,虽然......

标签: java oop object equals hashcode


【解决方案1】:

通过调用Map#get(),您获得的是价值而不是密钥。您可能想确定您的值也是 KeyType 类型,否则它将不起作用。

【讨论】:

  • 从我的角度来看,他是在假设问题应该是什么意思。如果问题不清楚,但我们应该首先确保我们澄清它,以便其他人可以从中受益,而不是让我们留下一些假设和措辞不好的问题。
猜你喜欢
  • 2013-02-08
  • 2010-10-04
  • 2013-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-02
  • 2010-10-06
  • 2010-12-09
相关资源
最近更新 更多