第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

關(guān)于equals的問(wèn)題

equals是干什么用的?一般用在哪個(gè)位置?在下看講解看的不太懂。

正在回答

6 回答

  1. == 是一個(gè)運(yùn)算符。
  2.Equals則是string對(duì)象的方法,可以.(點(diǎn))出來(lái)。
  
  我們比較無(wú)非就是這兩種 1、基本數(shù)據(jù)類型比較 ?2、引用對(duì)象比較
  1、基本數(shù)據(jù)類型比較
  ==和Equals都比較兩個(gè)值是否相等。相等為true 否則為false;
  
  2、引用對(duì)象比較
  ==和Equals都是比較棧內(nèi)存中的地址是否相等 。相等為true 否則為false;
  
  需注意幾點(diǎn):
  1、string是一個(gè)特殊的引用類型。對(duì)于兩個(gè)字符串的比較,不管是 == 和 Equals 這兩者比較的都是字符串是否相同;
  2、當(dāng)你創(chuàng)建兩個(gè)string對(duì)象時(shí),內(nèi)存中的地址是不相同的,你可以賦相同的值。
  所以字符串的內(nèi)容相同。引用地址不一定相同,(相同內(nèi)容的對(duì)象地址不一定相同),但反過(guò)來(lái)卻是肯定的;
  3、基本數(shù)據(jù)類型比較(string 除外) == 和 Equals 兩者都是比較值

0 回復(fù) 有任何疑惑可以回復(fù)我~

equals() 用于確定兩個(gè)對(duì)象的引用是否相同,而在String中equals()方法被進(jìn)行了覆蓋,使其意義變?yōu)楸容^兩個(gè)對(duì)象的內(nèi)容是否一致。可以根據(jù)自己的需要去重寫equals() 和hashcode()方法去實(shí)現(xiàn)自己設(shè)定的比較標(biāo)準(zhǔn)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

equals() 用于確定兩個(gè)對(duì)象的引用是否相同,而在String中equals()方法被進(jìn)行了覆蓋,使其意義變?yōu)楸容^兩個(gè)對(duì)象的內(nèi)容是否一致??梢愿鶕?jù)自己的需要去重寫equals() 和hashcode()方法去實(shí)現(xiàn)自己設(shè)定的比較標(biāo)準(zhǔn)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

equals方法對(duì)于字符串來(lái)說(shuō)是比較內(nèi)容的,而對(duì)于非字符串來(lái)說(shuō)是比較其指向的對(duì)象是否相同的。

兩段代碼體會(huì)一下

第一段代碼-非字符串:

class A

{

?? A obj1?? =???new? A();

??? A obj2?? =? ?new? A();

}

那么:? obj1==obj2是false

??????????? obj1.equals(obj2)是false

但是如加上這樣一句:obj1=obj2;

那么? obj1==obj2? 是true

????????? obj1.equals(obj2) 是true

第二段代碼-字符串:

String s1,s2,s3 = "abc", s4 ="abc" ;

s1 = new String("abc");

s2 = new String("abc");

?那么:s1==s2? ?是 false????? //兩個(gè)變量的內(nèi)存地址不一樣,也就是說(shuō)它們指向的對(duì)象不?一樣,故不相等。

s1.equals(s2) 是 true????//兩個(gè)變量的所包含的內(nèi)容是abc,故相等。

題主需要注意? equals 方法是 java.lang.Object 類的方法

看這種情況:

如果:??? StringBuffer s1 = new StringBuffer("a");
????????????? StringBuffer s2 = new StringBuffer("a");????????????????????

結(jié)果:??? s1.equals(s2)? //是false

解釋:StringBuffer類中沒(méi)有重新定義equals這個(gè)方法,因此這個(gè)方法就來(lái)自O(shè)bject類,而Object類中的equals方法是用來(lái)比較“地址”的,所以等于false.

如有誤,請(qǐng)指出,多多交流!



1 回復(fù) 有任何疑惑可以回復(fù)我~

1、java中equals和==的區(qū)別 值類型是存儲(chǔ)在內(nèi)存中的堆棧(簡(jiǎn)稱棧),而引用類型的變量在棧中僅僅是存儲(chǔ)引用類型變量的地址,而其本身則存儲(chǔ)在堆中。
  2、==操作比較的是兩個(gè)變量的值是否相等,對(duì)于引用型變量表示的是兩個(gè)變量在堆中存儲(chǔ)的地址是否相同,即棧中的內(nèi)容是否相同。
  3、equals操作表示的兩個(gè)變量是否是對(duì)同一個(gè)對(duì)象的引用,即堆中的內(nèi)容是否相同。
  4、==比較的是2個(gè)對(duì)象的地址,而equals比較的是2個(gè)對(duì)象的內(nèi)容,顯然,當(dāng)equals為true時(shí),==不一定為true。

0 回復(fù) 有任何疑惑可以回復(fù)我~

這要到后面對(duì)象才細(xì)說(shuō),現(xiàn)在大概了解下把。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
Java入門第一季(IDEA工具)升級(jí)版
  • 參與學(xué)習(xí)       1167361    人
  • 解答問(wèn)題       18728    個(gè)

0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語(yǔ)法開始

進(jìn)入課程

關(guān)于equals的問(wèn)題

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)