亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于equals的問題

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

正在回答

6 回答

  1. == 是一個運算符。
  2.Equals則是string對象的方法,可以.(點)出來。
  
  我們比較無非就是這兩種 1、基本數據類型比較 ?2、引用對象比較
  1、基本數據類型比較
  ==和Equals都比較兩個值是否相等。相等為true 否則為false;
  
  2、引用對象比較
  ==和Equals都是比較棧內存中的地址是否相等 。相等為true 否則為false;
  
  需注意幾點:
  1、string是一個特殊的引用類型。對于兩個字符串的比較,不管是 == 和 Equals 這兩者比較的都是字符串是否相同;
  2、當你創建兩個string對象時,內存中的地址是不相同的,你可以賦相同的值。
  所以字符串的內容相同。引用地址不一定相同,(相同內容的對象地址不一定相同),但反過來卻是肯定的;
  3、基本數據類型比較(string 除外) == 和 Equals 兩者都是比較值

0 回復 有任何疑惑可以回復我~

equals() 用于確定兩個對象的引用是否相同,而在String中equals()方法被進行了覆蓋,使其意義變為比較兩個對象的內容是否一致??梢愿鶕约旱男枰ブ貙慹quals() 和hashcode()方法去實現自己設定的比較標準。

0 回復 有任何疑惑可以回復我~

equals() 用于確定兩個對象的引用是否相同,而在String中equals()方法被進行了覆蓋,使其意義變為比較兩個對象的內容是否一致。可以根據自己的需要去重寫equals() 和hashcode()方法去實現自己設定的比較標準。

0 回復 有任何疑惑可以回復我~

equals方法對于字符串來說是比較內容的,而對于非字符串來說是比較其指向的對象是否相同的。

兩段代碼體會一下

第一段代碼-非字符串:

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????? //兩個變量的內存地址不一樣,也就是說它們指向的對象不?一樣,故不相等。

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

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

看這種情況:

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

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

解釋:StringBuffer類中沒有重新定義equals這個方法,因此這個方法就來自Object類,而Object類中的equals方法是用來比較“地址”的,所以等于false.

如有誤,請指出,多多交流!



1 回復 有任何疑惑可以回復我~

1、java中equals和==的區別 值類型是存儲在內存中的堆棧(簡稱棧),而引用類型的變量在棧中僅僅是存儲引用類型變量的地址,而其本身則存儲在堆中。
  2、==操作比較的是兩個變量的值是否相等,對于引用型變量表示的是兩個變量在堆中存儲的地址是否相同,即棧中的內容是否相同。
  3、equals操作表示的兩個變量是否是對同一個對象的引用,即堆中的內容是否相同。
  4、==比較的是2個對象的地址,而equals比較的是2個對象的內容,顯然,當equals為true時,==不一定為true。

0 回復 有任何疑惑可以回復我~

這要到后面對象才細說,現在大概了解下把。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167499    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

關于equals的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號