我需要比较两个Integer
对象(不是int
)。有什么标准方法来比较它们吗?
Integer x = ...
Integer y = ...
我能想到这个方法:
if (x == y)
==
运算符仅比较引用,因此这仅适用于较低的整数值。但也许会启用自动装箱......?
if (x.equals(y))
看起来这是一个很昂贵的操作,是否有使用此方式计算哈希码的方法?
if (x.intValue() == y.intValue())
有点啰嗦...
编辑:谢谢你们的回答。虽然我现在知道该怎么做了,但是所有现有答案(包括已删除的答案:))中都分散着一些事实,我不太确定该接受哪一个。因此,我会接受最好的答案,它涉及到所有三种比较可能性,或者至少前两种。