==和equals

==:

==: 比較的是變量(棧)內(nèi)存中存放的對象的(堆)內(nèi)存地址爹殊,用來判斷兩個(gè)對象的地址是是否相同嫩舟,即是否是指的同一個(gè)對象锅纺。比較的是真正意義上的指針操作祝拯。

  1. 比較的是操作符兩端的操作數(shù)是否是同一個(gè)對象。
  2. 兩邊的操作數(shù)必須是同一類型(可以是父子類之間)才能編譯通過挑势。
  3. 比較的是地址冈欢,如果是具體的阿拉伯?dāng)?shù)字的比較钦椭,值想的則為true漾抬。:
      int a = 10 與 long b = 10L 與 double c = 10.0 都是相同的(為true)宿亡,因?yàn)樗麄兌贾赶虻刂窞?0的堆。

equals

  1. equals用來比較的是兩個(gè)對象的內(nèi)容是否相等纳令,由于所有的類都是繼承自java.lang.Object類的挽荠,所以用于所有的對象,如果沒有對該方法的覆蓋的話泊碑,調(diào)用的仍然是Object類中的方法坤按,而Object中的equals方法返回的卻是 == 的判斷毯欣。

  2. String s = "abcd"是一種非常特殊的形式馒过,和new有本質(zhì)的區(qū)別。它是java中唯一不需要new就可以產(chǎn)生對象的途徑酗钞。以String s = "abcd";形式賦值在java中叫直接量腹忽,它是在常量池中而不是new一樣放在壓縮堆中。這種形式的字符串砚作,在JVM內(nèi)部發(fā)生字符串拘留窘奏,即當(dāng)生命這樣的一個(gè)字符串后,JVM會(huì)在常量池中先查找有沒有一個(gè)值為"abcd"的對象葫录,如果有着裹,就會(huì)把它賦給當(dāng)前引用,即原來那個(gè)引用和現(xiàn)在的引用指向了同一對象米同,如果沒有骇扇,則在常量池中創(chuàng)建一個(gè)新的"abcd",下一次如果有String s = "abcd";又會(huì)將s指向"abcd"這個(gè)對象摔竿,即以這個(gè)形式生命的字符串,只要值相等少孝,任何多個(gè)引用都指向同一個(gè)對象继低。

  3. 而String s = new String("hello");和其他任何對象一樣,每調(diào)用一次就產(chǎn)生一個(gè)對象稍走,只要他們調(diào)用袁翁。

  4. 可以這么理解:String str ="hello";先在內(nèi)存中找是不是有"hello"這對象,如果有婿脸,就讓str指向"hello",如果內(nèi)存里沒有"hello",就創(chuàng)建一個(gè)新的對象保存"hello";String str = new String("hello");就不管是不是已經(jīng)有"hello"這個(gè)對象粱胜,都新建一個(gè)對象保存"hello"。

具體我們看如下代碼:

public class He2 {

    public static void main(String[] args) {
        String a = new String("ab"); // a 為一個(gè)引用,在內(nèi)存中創(chuàng)建一個(gè)空間存儲(chǔ)"ab"對象
        String b = new String("ab"); // b為另一個(gè)引用,在內(nèi)存中創(chuàng)建另一個(gè)空間存儲(chǔ)"ab"對象狐树。
        String aa = "ab"; // 放在常量池中(先在常量池中尋找是否有aa這個(gè)對象年柠,如果沒有則創(chuàng)建)
        String bb = "ab"; // 從常量池中查找(上面已經(jīng)創(chuàng)建了aa這個(gè)對象,所以就直接引用aa對象的地址值就可以了)
        if (aa == bb) { // true
            System.out.println("aa==bb");
            /*
            *     此時(shí)aa與bb相比較的是地址值褪迟,因?yàn)閍a與bb指向的是同一個(gè)地址值冗恨,所以aa == bb,
            *     地址值相同味赃,值也相同掀抹。
            */
        }
        if (a == b) {// false,非同一對象a 與 b 都是開辟的新的內(nèi)存空間存儲(chǔ)值心俗,雖然值相等傲武,但地址值不同(==號 比較的是地址值)。
            System.out.println("a==b");
        }
        if (a.equals(b)) {// true   城榛, 比較的是引用的值是否相同(equals比較的是值是否相同揪利。)
            System.out.println("aEQb");
        }
        if (42 == 42.0) { // true
            System.out.println("true");
        }
    }
}

“==”比"equals"運(yùn)行速度快,因?yàn)椤?=”只比較地址值狠持。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末疟位,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子喘垂,更是在濱河造成了極大的恐慌甜刻,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件正勒,死亡現(xiàn)場離奇詭異得院,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)章贞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門祥绞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事蜕径」置铮” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵丧荐,是天一觀的道長缆瓣。 經(jīng)常有香客問我,道長虹统,這世上最難降的妖魔是什么弓坞? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮车荔,結(jié)果婚禮上渡冻,老公的妹妹穿的比我還像新娘。我一直安慰自己忧便,他們只是感情好族吻,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著珠增,像睡著了一般超歌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蒂教,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天巍举,我揣著相機(jī)與錄音,去河邊找鬼凝垛。 笑死懊悯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梦皮。 我是一名探鬼主播炭分,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼剑肯!你這毒婦竟也來了捧毛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤退子,失蹤者是張志新(化名)和其女友劉穎岖妄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寂祥,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年七兜,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丸凭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖惜犀,靈堂內(nèi)的尸體忽然破棺而出铛碑,到底是詐尸還是另有隱情,我是刑警寧澤虽界,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布汽烦,位于F島的核電站,受9級特大地震影響莉御,放射性物質(zhì)發(fā)生泄漏撇吞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一礁叔、第九天 我趴在偏房一處隱蔽的房頂上張望牍颈。 院中可真熱鬧,春花似錦琅关、人聲如沸煮岁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽画机。三九已至,卻和暖如春新症,著一層夾襖步出監(jiān)牢的瞬間色罚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工账劲, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留戳护,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓瀑焦,卻偏偏與公主長得像腌且,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子榛瓮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內(nèi)容