Java(1!= 1)是真的

时间:2018-01-04 05:52:06

标签: java

我的代码中有if语句如下:

if (key != a[0]) /* line to be executed */

当我使用key = 1(类型为Integer)和a[0] = 1(类型为Integer)运行程序时,我得到true并且语句运行,即1不等于1.显然这太荒谬了。

我已经对此进行了大量测试,但我找不到key的值,它会为false提供key != a[0]。出于我的计划的目的,a[0]无法更改。

出了什么问题?

1 个答案:

答案 0 :(得分:2)

.equals()方法检查是否相等,==运算符检查对象的相同性。只要key和[0]不同Object==将返回false。 <{1}}上的.equals()将返回true。