和 equals()的不同(詳解!!!)

2021-10-10 03:12:06 字數 1169 閱讀 2314

1、= = 的比較(兩部分)

(1)基本資料型別的比較:

= = 在基本型別中比較的是內容,相同返回true,不同返回false。如:
int i =10;

int j =10;

system.out.

println

(i == j)

;//true

(2)引用型別的比較:

public

class

test

}

先宣告一點:

字串建立物件之後,在堆記憶體中開闢空間,將物件放在其中,每new乙個物件,即重新在堆記憶體中開闢新的空間,將其放入,即s3、s4都開闢了新的空間。當執行 string s1 = "hello";時,會在字串常量池中尋找此字串,若沒有,則將此字串放入字串常量池中,在賦給s1。在執行 string s2 = "hello";時,同樣地,在字串常量池中尋找此內容,如果有,則直接賦給s2。如圖:
2、equals ( ) 的說明

(1)在object類中:

equals ( ) 是object根類的乙個方法。在object類中equals ( ) 比較的是位址值。
public

boolean equals (object obj)

(2)在string類中:

在string類中,重寫了equals方法,內容如下:
public

boolean

equals

(object anobject)

if(anobject instanceof

string)}

return

false

;}

3、 equals ( ) 在string類中的比較

public

class

test

}

因為equals()方法重寫之後比較的是內容是否相等,所以返回true。

和equals的不同之處

int a 3 int b 3 string str1 123 string str2 123 string str3 newstring 123 system.out.println a b的結果 a b true,基本資料型別時,進行的是值比較 system.out.println str1 s...

關於equals和「 」的詳解

首先,equals,equals最常用的是在string下呼叫,用來比較兩個字串是否相同。但實際上equals是object中的方法,string對其進行了覆寫。object中的equals方法是用來比較兩個物件相等的,但是其預設的是按位址進行比較 並不能對內容進行比較。string覆寫了此方法用來...

equals和 的區別詳解

大家在刷面試題的時候可能都刷到過equals和 之間的區別?簡單來說答案就是 equals和 比較的都是位址,只不過許多類中都重寫了equals方法,用來比較他們之間的值。接下來我們就詳細看看,他們之間究竟有什麼區別。一 堆和棧的區別 舉個例子說明一下,string a new string 123...