Java中equals()和“==”區別
1.對於基礎數據類型,使用“=="比較值是否相等;
2.對於複合數據類型(類),使用equals()和“==”效果是一樣的,兩者比較的都是對象在內存中的存放地址(確切的說,是堆內存地址)。
3.對於String、Integer、Date等覆蓋了equals()方法的類型,“==”比較的是存放的內存地址。而equals()的結果則由覆蓋後的代碼決定。
4.string類型中,equals()比較的是兩字符串內容是否相同。如:
1 2 3 4 5 6 7 8 | String s1 = "Hello" ; String s2 = "Hello" ; s1.equals(s2)返回 true ; s1==s2返回 true ; String s1 = "Hello" ; String s2 = new String( "Hello" ); s1.equals(s2)返回的還是 true ; 但是s1==s2返回 false ; |