朱杰兵blog

          jonhney'blog
          posts - 140, comments - 1, trackbacks - 0, articles - 0

          這要說到==和 equals 的區(qū)別了。

          1. ==比較的是兩個對象在內存中的地址值(棧中的內容)。

          2.equals 是 Java.lang.Object 類的一個方法。equals 比較的是兩個對象的內容(堆中的內容)。java 中所有的類都默認繼承于 Object,所以所有的類都有這個方法。

          但是 Long 是一個對象,是對 long 的封裝。我們看一下 Long 對象的源碼,里面的 equals 方法是這么寫的:

          1     public boolean equals(Object obj) { 2         if (obj instanceof Long) { 3             return value == ((Long)obj).longValue(); 4         } 5         return false; 6     }

          所以兩個 Long 類型的變量進行比較的話,要么用 equals,要么先調用longValue 方法,拿到里面的 long 值之后再進行==比較。


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 柳河县| 锡林浩特市| 绥棱县| 揭东县| 会东县| 云和县| 苍溪县| 绵竹市| 日土县| 固镇县| 襄樊市| 东兰县| 阳朔县| 祁东县| 礼泉县| 莒南县| 长汀县| 绥德县| 临夏县| 双牌县| 含山县| 武山县| 双桥区| 巴彦淖尔市| 通山县| 杭锦旗| 县级市| 都昌县| 汉源县| 达拉特旗| 罗山县| 元阳县| 青河县| 图们市| 磐安县| 清水河县| 沅陵县| 茌平县| 铜鼓县| 滨海县| 天台县|