内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

詳細講解equals與==的區(qū)別

首先我們來介紹一下JVM中的內(nèi)存分配知識:

廈門網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),廈門網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為廈門數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的廈門做網(wǎng)站的公司定做!

(推薦教程:java課程)

在JVM中,內(nèi)存分為堆內(nèi)存跟棧內(nèi)存。他們二者的區(qū)別是: 當(dāng)我們創(chuàng)建一個對象(new Object)時,就會調(diào)用對象的構(gòu)造函數(shù)來開辟空間,將對象數(shù)據(jù)存儲到堆內(nèi)存中,與此同時在棧內(nèi)存中生成對應(yīng)的引用,當(dāng)我們在后續(xù)代碼中調(diào)用的時候用的都是棧內(nèi)存中的引用。還需注意的一點,基本數(shù)據(jù)類型是存儲在棧內(nèi)存中。

初步認識equals與==的區(qū)別:

==是判斷兩個變量或?qū)嵗遣皇侵赶蛲粋€內(nèi)存空間,equals是判斷兩個變量或?qū)嵗赶虻膬?nèi)存空間的值是不是相同。==是指對內(nèi)存地址進行比較,equals()是對字符串的內(nèi)容進行比較。==指引用是否相同, equals()指的是值是否相同。

用一張圖可以簡要的表現(xiàn)他們之間的關(guān)系:

測試:

equals與==的區(qū)別詳解:

== 比較的是變量(棧)內(nèi)存中存放的對象的(堆)內(nèi)存地址,用來判斷兩個對象的地址是否相同,即是否是指相同一個對象。比較的是真正意義上的指針操作。equals用來比較的是兩個對象的內(nèi)容是否相等,由于所有的類都是繼承自java.lang.Object類的,所以適用于所有對象,如果沒有對該方法進行覆蓋的話,調(diào)用的仍然是Object類中的方法,而Object中的equals方法返回的卻是==的判斷。

String s="abcd"是一種非常特殊的形式,和new 有本質(zhì)的區(qū)別。它是java中唯一不需要new 就可以產(chǎn)生對象的途徑。以String s="abcd";形式賦值在java中叫直接量,它是在常量池中而不是象new一樣放在壓縮堆中。

這種形式的字符串,在JVM內(nèi)部發(fā)生字符串拘留,即當(dāng)聲明這樣的一個字符串后,JVM會在常量池中先查找有有沒有一個值為"abcd"的對象,如果有,就會把它賦給當(dāng)前引用.即原來那個引用和現(xiàn)在這個引用指點向了同一對象, 如果沒有,則在常量池中新創(chuàng)建一個"abcd",下一次如果有String s1 = "abcd";又會將s1指向"abcd"這個對象,即以這形式聲明的字符串,只要值相等,任何多個引用都指向同一對象。

而String s = new String("abcd");和其它任何對象一樣.每調(diào)用一次就產(chǎn)生一個對象,只要它們調(diào)用。也可以這么理解: String str = "hello"; 先在內(nèi)存中找是不是有"hello"這個對象,如果有,就讓str指向那個"hello"。

如果內(nèi)存里沒有"hello",就創(chuàng)建一個新的對象保存"hello". String str=new String ("hello") 就是不管內(nèi)存里是不是已經(jīng)有"hello"這個對象,都新建一個對象保存"hello"。

測試:

相關(guān)推薦:java入門

網(wǎng)頁題目:詳細講解equals與==的區(qū)別
文章路徑:http://www.rwnh.cn/article42/cpsphc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計公司網(wǎng)站制作、網(wǎng)站排名網(wǎng)頁設(shè)計公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
黔江区| 永济市| 西丰县| 聊城市| 思茅市| 神木县| 成安县| 苍山县| 焦作市| 西盟| 天祝| 合肥市| 邢台市| 射洪县| 鹤山市| 米林县| 岳普湖县| 饶平县| 尼木县| 南雄市| 县级市| 天津市| 遂昌县| 新田县| 新龙县| 德化县| 安塞县| 十堰市| 石屏县| 米泉市| 正阳县| 巢湖市| 普安县| 延津县| 五常市| 都昌县| 买车| 高州市| 衡南县| 仁寿县| 阳朔县|