成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Java中==與equals()有什么區(qū)別-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)Java中==與equals()有什么區(qū)別,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比東光網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式東光網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋東光地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴(lài)。

  單獨(dú)把一個(gè)東西說(shuō)清楚,然后再說(shuō)清楚另一個(gè),這樣,它們的區(qū)別自然就出來(lái)了,混在一起說(shuō),則很難說(shuō)清楚

  “==”操作符專(zhuān)門(mén)用來(lái)比較兩個(gè)變量的值是否相等,也就是用于比較變量所對(duì)應(yīng)的內(nèi)存中所存儲(chǔ)的數(shù)值是否相同,要比較兩個(gè)基本類(lèi)型的數(shù)據(jù)或兩個(gè)引用變量是否相等,只能用==操作符。

  如果一個(gè)變量指向的數(shù)據(jù)是對(duì)象類(lèi)型的,那么,這時(shí)候涉及了兩塊內(nèi)存,對(duì)象本身占用一塊內(nèi)存(堆內(nèi)存),變量也占用一塊內(nèi)存,例如 Objet obj = new Object();變量 obj 是一個(gè)內(nèi)存,new Object()是另一個(gè)內(nèi)存,此時(shí),變量 obj 所對(duì)應(yīng)的內(nèi)存中存儲(chǔ)的數(shù)值就是對(duì)象占用的那塊內(nèi)存的首地址。對(duì)于指向?qū)ο箢?lèi)型的變量,如果要比較兩個(gè)變量是否指向同一個(gè)對(duì)象,即要看這兩個(gè)變量所對(duì)應(yīng)的內(nèi)存中的數(shù)值是否相等,這時(shí)候就需要用==操作符進(jìn)行比較。

  equals 方法是用于比較兩個(gè)獨(dú)立對(duì)象的內(nèi)容是否相同,就好比去比較兩個(gè)人的長(zhǎng)相是否相同,它比較的兩個(gè)對(duì)象是獨(dú)立的。例如,對(duì)于下面的代碼:

  String a=new String("foo");

  String b=new String("foo");

  兩條 new 語(yǔ)句創(chuàng)建了兩個(gè)對(duì)象,然后用 a,b 這兩個(gè)變量分別指向了其中一個(gè)對(duì)象,這是兩個(gè)不同的對(duì)象,它們的首地址是不同的,即 a 和 b 中存儲(chǔ)的數(shù)值是不相同的,所以,表達(dá)式 a==b 將返回false,而這兩個(gè)對(duì)象中的內(nèi)容是相同的,所以,表達(dá)式a.equals(b)將返回 true。

  在實(shí)際開(kāi)發(fā)中,我們經(jīng)常要比較傳遞進(jìn)行來(lái)的字符串內(nèi)容是否等,例如,String input = …;input.equals(“quit”),許多人稍不注意就使用==進(jìn)行比較了,這是錯(cuò)誤的,隨便從網(wǎng)上找?guī)讉€(gè)項(xiàng)目實(shí)戰(zhàn)的教學(xué)視頻看看,里面就有大量這樣的錯(cuò)誤。記住,字符串的比較基本上都是使用 equals 方法。

  如果一個(gè)類(lèi)沒(méi)有自己定義 equals 方法,那么它將繼承 Object 類(lèi)的 equals 方法,Object 類(lèi)的 equals 方法的實(shí)現(xiàn)代碼如下:

  boolean equals(Object o){

  return this==o;

  }

  這說(shuō)明,如果一個(gè)類(lèi)沒(méi)有自己定義 equals 方法,它默認(rèn)的 equals方法(從 Object 類(lèi)繼承的)就是使用==操作符,也是在比較兩個(gè)變量指向的對(duì)象是否是同一對(duì)象,這時(shí)候使用 equals 和使用==會(huì)得到同樣的結(jié)果,如果比較的是兩個(gè)獨(dú)立的對(duì)象則總返回 false。

  如果你編寫(xiě)的類(lèi)希望能夠比較該類(lèi)創(chuàng)建的兩個(gè)實(shí)例對(duì)象的內(nèi)容是否相同,那么你必須覆蓋 equals 方法,由你自己寫(xiě)代碼來(lái)決定在什么情況即可認(rèn)為兩個(gè)對(duì)象的內(nèi)容是相同的。

上述就是小編為大家分享的Java中==與equals()有什么區(qū)別了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

文章標(biāo)題:Java中==與equals()有什么區(qū)別-創(chuàng)新互聯(lián)
文章地址:http://jinyejixie.com/article4/coepoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)商城網(wǎng)站、網(wǎng)站制作、軟件開(kāi)發(fā)

廣告

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

商城網(wǎng)站建設(shè)
磐安县| 壤塘县| 郑州市| 莎车县| 顺昌县| 仙居县| 高淳县| 安远县| 庐江县| 烟台市| 东山县| 建宁县| 锦州市| 蛟河市| 吴旗县| 奉新县| 苍溪县| 舒兰市| 顺昌县| 北流市| 宜良县| 突泉县| 乐平市| 岳阳县| 罗平县| 江川县| 凌海市| 论坛| 封丘县| 沙坪坝区| 五台县| 乌拉特前旗| 黄陵县| 镇远县| 嘉黎县| 绵阳市| 曲阜市| 连江县| 平陆县| 个旧市| 西平县|