判断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值相等,则可以用==;

 

 

  
posted @ 2017-05-17 17:29  迷走神经  阅读(2519)  评论(0编辑  收藏  举报