判断Integer值相等不能用==

Posted 学无止境

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断Integer值相等不能用==相关的知识,希望对你有一定的参考价值。

今天在开发中判断两个Integer值相等,

Integer a = 3;

Duixiang duixiang = new Duixiang();

duixiang = DAO.getDuixiang();

Integer b = duixiang.getB();

System.out.print(a == b);
System.out.print(a.equals(b));

发现a==b时,为false,a.equals(b)为true。

后来发现因为我b的值是从数据中拿出的一个对象的值。a和b的id不相同,所以导致了a==b为false。

得出的结论,Integer为对象,如果判断相等要用equals,而不能用==。

如果是判断两个int值相等,则可以用==;

 

 

  

以上是关于判断Integer值相等不能用==的主要内容,如果未能解决你的问题,请参考以下文章

两个 integer 值判断是否相等

判断Integer值相等最好不用==最好使用equals

判断Integer值相等最好不用==(未整理)

[Java]判断Integer值相等最好不用==最好使用equals

Integer值判断是否相等问题

为什么Integer用==比较时127相等而128不相等?