日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

java: String的==与equals

發(fā)布時(shí)間:2025/6/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java: String的==与equals 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

string 是對(duì)象,所以==對(duì)于string來(lái)說(shuō),是對(duì)比的內(nèi)存地址;
解釋第一個(gè):a==c//為true。 因?yàn)閎被final修飾,那么它本身是一個(gè)常量,如果你原意的話(huà),你可去看看編譯后的class文件。里面變量c = "hello2",底層原理是java進(jìn)行了優(yōu)化。會(huì)查找內(nèi)存中是否存在"hello2",如果存在,那么就將地址賦予c,很明顯把a(bǔ)的內(nèi)存地址賦予了c。所以才會(huì)a==c得到結(jié)果true
解釋第二個(gè):a==e//為false。因?yàn)閟tring的+2,底層原理是,StringBuffer.append("2").toString(); 很明顯,地址發(fā)生了改變,所以a==e得到結(jié)果會(huì)為false

?

?

由于string類(lèi)比較特殊,jdk專(zhuān)門(mén)做了緩存優(yōu)化。

?

  原來(lái)Java運(yùn)行時(shí)會(huì)維護(hù)一個(gè)String Pool(String池)。String池用來(lái)存放運(yùn)行時(shí)中產(chǎn)生的各種字符串,并且池中的字符串的內(nèi)容不重復(fù)。而一般對(duì)象不存在這個(gè)緩沖池,并且創(chuàng)建的對(duì)象僅僅存在于方法的堆棧區(qū)。
也就是說(shuō)需要看string創(chuàng)建的方式:

?

1 當(dāng)使用任何方式來(lái)創(chuàng)建一個(gè)字符串對(duì)象s時(shí),Java運(yùn)行時(shí)(運(yùn)行中JVM)會(huì)拿著這個(gè)X在String池中找是否存在內(nèi)容相同的字符串對(duì)象,如果不存在,則在池中創(chuàng)建一個(gè)字符串s,否則,不在池中添加。
2 Java中,只要使用new關(guān)鍵字來(lái)創(chuàng)建對(duì)象,則一定會(huì)(在堆區(qū)或棧區(qū))創(chuàng)建一個(gè)新的對(duì)象。
3 使用直接指定或者使用純字符串串聯(lián)來(lái)創(chuàng)建String對(duì)象,則僅僅會(huì)檢查維護(hù)String池中的字符串,池中沒(méi)有就在池中創(chuàng)建一個(gè),有則罷了!但絕不會(huì)在堆棧區(qū)再去創(chuàng)建該String對(duì)象。
4 使用包含變量的表達(dá)式來(lái)創(chuàng)建String對(duì)象,則不僅會(huì)檢查維護(hù)String池,而且還會(huì)在堆棧區(qū)創(chuàng)建一個(gè)String對(duì)象。

  另外,String的intern()方法是一個(gè)本地方法,定義為public native String intern(); intern()方法的價(jià)值在于讓開(kāi)發(fā)者能將注意力集中到String池上。當(dāng)調(diào)用 intern 方法時(shí),如果池已經(jīng)包含一個(gè)等于此 String 對(duì)象的字符串(該對(duì)象由 equals(Object) 方法確定),則返回池中的字符串。否則,將此 String 對(duì)象添加到池中,并且返回此 String 對(duì)象的引用。

總結(jié)

以上是生活随笔為你收集整理的java: String的==与equals的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。