91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java中equals和“==”有什么區別

發布時間:2020-06-25 21:04:42 來源:億速云 閱讀:140 作者:Leah 欄目:編程語言

這篇文章將為大家詳細講解有關java中equals和“==”有什么區別,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

區別:

== 比較的是變量(棧)內存中存放的對象的(堆)內存地址,用來判斷兩個對象的地址是否相同,即是否是指相同一個對象。比較的是真正意義上的指針操作。

equals用來比較的是兩個對象的內容是否相等,由于所有的類都是繼承自java.lang.Object類的,所以適用于所有對象,如果沒有對該方法進行覆蓋的話,調用的仍然是Object類中的方法,而Object中的equals方法返回的卻是==的判斷。

java中的數據類型可以分為兩類:

基本數據類型

byte,short,char,int,long,float,double,boolean

基本數據類型之間的比較需要用雙等號(==),因為他們比較的是值。

引用數據類型

接口、類、數組等非基本數據類型

Java中的字符串String屬于引用數據類型,因為String是一個類。

當他們用(==)進行比較的時候,比較的是他們在內存中的存放地址,所以,除非是同一個new出來的對象,他們的比較后的結果為true,否則比較后結果為false。因為沒new一次就會重新開辟一個新的堆內存空間

Entity entity = new Entity();
Entity entity1 = new Entity();
Entity entity2 = entity;
        
System.out.println(entity==entity2);
System.out.println(entity.equals(entity2));

System.out.println(entity.equals(entity1));
System.out.println(entity==entity1);

結果:

true
true
false
false

總結:

對于復合數據類型之間進行equals比較,在沒有覆寫equals方法的情況下,他們之間的比較還是內存中的存放位置的地址值,跟雙等號(==)的結果相同;如果被復寫,按照復寫的要求來。

== 的作用:

基本類型:比較的就是值是否相同;

引用類型:比較的就是地址值是否相同。

equals 的作用:

引用類型:默認情況下,比較的是地址值,重寫該方法后比較對象的成員變量值是否相同。

關于java中equals和“==”的區別就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

云浮市| 元谋县| 南江县| 定兴县| 萨嘎县| 全州县| 淄博市| 霍州市| 施甸县| 繁峙县| 长汀县| 德阳市| 玉门市| 巨鹿县| 兴城市| 麻城市| 阳西县| 历史| 呼伦贝尔市| 左贡县| 休宁县| 仁怀市| 洛扎县| 丽江市| 景德镇市| 漠河县| 天水市| 南陵县| 兴和县| 承德市| 应用必备| 长顺县| 肇州县| 行唐县| 珠海市| 保德县| 中牟县| 绿春县| 南皮县| 余干县| 马关县|