久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > Java中equals和==的區(qū)別?

Java中equals和==的區(qū)別?

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-10-11 19:30:54 1697023854

一、Java中equals和==的區(qū)別

java當(dāng)中的數(shù)據(jù)類(lèi)型和“==”的含義

基本數(shù)據(jù)類(lèi)型(也稱(chēng)原始數(shù)據(jù)類(lèi)型) :byte,short,char,int,long,float,double,boolean。他們之間的比較,應(yīng)用雙等號(hào)(==),比較的是他們的值。引用數(shù)據(jù)類(lèi)型:當(dāng)他們用(==)進(jìn)行比較的時(shí)候,比較的是他們?cè)趦?nèi)存中的存放地址(確切的說(shuō),是堆內(nèi)存地址)。

注:對(duì)于第二種類(lèi)型,除非是同一個(gè)new出來(lái)的對(duì)象,他們的比較后的結(jié)果為true,否則比較后結(jié)果為false。因?yàn)槊縩ew一次,都會(huì)重新開(kāi)辟堆內(nèi)存空間。

equals()方法介紹

JAVA當(dāng)中所有的類(lèi)都是繼承于Object這個(gè)超類(lèi)的,在Object類(lèi)中定義了一個(gè)equals的方法,equals的源碼是這樣寫(xiě)的:

public boolean equals(Object obj) {??? //this – s1??? //obj – s2??? return (this == obj);}

可以看到,這個(gè)方法的初始默認(rèn)行為是比較對(duì)象的內(nèi)存地址值,一般來(lái)說(shuō),意義不大。所以,在一些類(lèi)庫(kù)當(dāng)中這個(gè)方法被重寫(xiě)了,如String、Integer、Date。在這些類(lèi)當(dāng)中equals有其自身的實(shí)現(xiàn)(一般都是用來(lái)比較對(duì)象的成員變量值是否相同),而不再是比較類(lèi)在堆內(nèi)存中的存放地址了。

所以說(shuō),對(duì)于復(fù)合數(shù)據(jù)類(lèi)型之間進(jìn)行equals比較,在沒(méi)有覆寫(xiě)equals方法的情況下,他們之間的比較還是內(nèi)存中的存放位置的地址值,跟雙等號(hào)(==)的結(jié)果相同;如果被復(fù)寫(xiě),按照復(fù)寫(xiě)的要求來(lái)。

我們對(duì)上面的兩段內(nèi)容做個(gè)總結(jié)吧:?

== 的作用:

基本類(lèi)型:比較的就是值是否相同

引用類(lèi)型:比較的就是地址值是否相同

equals 的作用:

  引用類(lèi)型:默認(rèn)情況下,比較的是地址值。

注:不過(guò),我們可以根據(jù)情況自己重寫(xiě)該方法。一般重寫(xiě)都是自動(dòng)生成,比較對(duì)象的成員變量值是否相同

延伸閱讀:

二、面向?qū)ο笫鞘裁?/strong>

現(xiàn)實(shí)世界中,隨處可見(jiàn)的一種事物就是對(duì)象,對(duì)象是事物存在的實(shí)體,如人類(lèi)、書(shū)桌、計(jì)算機(jī)、高樓大廈等。人類(lèi)解決問(wèn)題的方式總是將復(fù)雜的事物簡(jiǎn)單化,于是就會(huì)思考這些對(duì)象都是由哪些部分組成的。通常都會(huì)將對(duì)象劃分為兩個(gè)部分,即動(dòng)態(tài)部分與靜態(tài)部分。

靜態(tài)部分,顧名思義就是不能動(dòng)的部分,這個(gè)部分被稱(chēng)為“屬性”,任何對(duì)象都會(huì)具備其自身屬性,如一個(gè)人,它包括高矮、胖瘦、性別、年齡等屬性。然而具有這些屬性的人會(huì)執(zhí)行哪些動(dòng)作也是一個(gè)值得探討的部分,這個(gè)人可以哭泣、微笑、說(shuō)話、行走,這些是這個(gè)人具備的行為(動(dòng)態(tài)部分),人類(lèi)通過(guò)探討對(duì)象的屬性和觀察對(duì)象的行為了解對(duì)象。

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專(zhuān)屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python的五個(gè)特點(diǎn)?

一、簡(jiǎn)潔易讀的語(yǔ)法Python以簡(jiǎn)潔易讀而著稱(chēng)。它采用了一種簡(jiǎn)單而直觀的語(yǔ)法,使得代碼具有高度的可讀性,降低了學(xué)習(xí)和理解的難度。Python使用縮...詳情>>

2023-10-11 21:23:04
區(qū)塊鏈技術(shù)在醫(yī)療領(lǐng)域有沒(méi)有什么可以應(yīng)用的場(chǎng)景?

一、區(qū)塊鏈技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用區(qū)塊鏈在醫(yī)療領(lǐng)域的應(yīng)用前景廣泛,國(guó)內(nèi)外各機(jī)構(gòu)都在積極探索區(qū)塊鏈在醫(yī)療領(lǐng)域的多方面應(yīng)用。主要應(yīng)用方向包括醫(yī)...詳情>>

2023-10-11 21:17:44
Java并發(fā)編程需要掌握什么?

一、Java并發(fā)編程需要掌握的內(nèi)容1、線程基礎(chǔ)知識(shí)了解線程的概念、生命周期和狀態(tài)轉(zhuǎn)換,以及如何創(chuàng)建和管理線程。熟悉Java中的Thread類(lèi)和Runnabl...詳情>>

2023-10-11 21:08:03
WEB服務(wù)器是什么?

一、WEB服務(wù)器是什么WEB服務(wù)器是一種用于存儲(chǔ)、處理和提供Web內(nèi)容的軟件或硬件設(shè)備。它充當(dāng)了Web應(yīng)用程序和客戶端之間的中間層,負(fù)責(zé)接收來(lái)自客...詳情>>

2023-10-11 20:49:17
為什么要用Lambda表達(dá)式?

一、用Lambda表達(dá)式的原因Lambda表達(dá)式是一種匿名函數(shù),它在許多編程語(yǔ)言中得到了廣泛應(yīng)用,包括Java、Python、JavaScript等。1、簡(jiǎn)潔性Lambda...詳情>>

2023-10-11 20:31:47
快速通道