今天在開發中判斷兩個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值相等,則可以用==;