朱杰兵blog

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

          這要說到==和 equals 的區別了。

          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 值之后再進行==比較。


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


          網站導航:
           
          主站蜘蛛池模板: 阿拉善左旗| 屏南县| 桂东县| 科技| 潜江市| 上栗县| 三亚市| 平山县| 枝江市| 西乡县| 博客| 东城区| 阿克陶县| 东台市| 娄烦县| 芷江| 武定县| 衡东县| 罗源县| 云和县| 石林| 巫山县| 临汾市| 贵德县| 博罗县| 长子县| 名山县| 东丽区| 双峰县| 佛学| 尤溪县| 攀枝花市| 灯塔市| 洪江市| 正安县| 凤冈县| 重庆市| 大关县| 渭源县| 岑巩县| 富顺县|