今天在開發(fā)中判斷兩個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));
發(fā)現(xiàn)a==b時,為false,a.equals(b)為true。
后來發(fā)現(xiàn)因為我b的值是從數(shù)據(jù)中拿出的一個對象的值。a和b的id不相同,所以導(dǎo)致了a==b為false。
得出的結(jié)論,Integer為對象,如果判斷相等要用equals,而不能用==。
如果是判斷兩個int值相等,則可以用==;