首页 > 解决方案 > 比较简短的参考?

问题描述

一些背景故事,我收到了我编写的一些代码的警告。警告和两个代码摘录如下。他们只是告诉我使用!.equals()方法而不是!=在比较 if 语句中的两个引用时?minRange是一个简短的

有问题地使用引用相等而不是调用equals。短参考文献的可疑比较

if (minRange != other.minRange)
     return false; 

这两个摘录都不相关,但警告出现了两次

if (mod_system.getMaxRange() != (current_system.getMaxRange()
     changed_data = true;

标签: java

解决方案


我假设你的变量类型是Short,在这种情况下==只会比较引用,而不是值。

因此,要回答您的问题,是的,您应该使用.equals(Object),它将它们的原始值拆箱以进行比较。否则,您可以自己拆箱:

minRange.shortValue() == other.minRange.shortValue()

推荐阅读