java - 比较简短的参考?
问题描述
一些背景故事,我收到了我编写的一些代码的警告。警告和两个代码摘录如下。他们只是告诉我使用!.equals()
方法而不是!=
在比较 if 语句中的两个引用时?minRange
是一个简短的
有问题地使用引用相等而不是调用equals。短参考文献的可疑比较
if (minRange != other.minRange)
return false;
这两个摘录都不相关,但警告出现了两次
if (mod_system.getMaxRange() != (current_system.getMaxRange()
changed_data = true;
解决方案
我假设你的变量类型是Short
,在这种情况下==
只会比较引用,而不是值。
因此,要回答您的问题,是的,您应该使用.equals(Object)
,它将它们的原始值拆箱以进行比较。否则,您可以自己拆箱:
minRange.shortValue() == other.minRange.shortValue()
推荐阅读
- azure-devops - Azure 构建:您是否缺少程序集参考?
- c++ - 如何检查类型 T 是否在参数包 Ts 中...?
- java - 如何将意图发送到游戏视图
- spring - 使用休眠存储的 LocalDate 错误
- javascript - 替换 DIV 类中的逗号和美元符号
- node.js - 由于“针对不同版本的 Node.js 编译的尖锐模块”,Expo 无法运行
- django - 将嵌套对象序列化为当前父对象的平面属性
- algorithm - 在第三个列表中存在的两个python列表中查找公共索引
- python - 骰子游戏将随机骰子总数添加到变量中
- java - 无法使用 Spring Data JPA 创建 JOIN