判断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值相等,则可以用==;
带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯