今天在开发中判断两个Integer值相等,
代码语言:javascript复制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值相等,则可以用==;