java 與equal 的區別

2021-07-24 16:25:36 字數 1238 閱讀 5140

判定的是物件的等價性,必須是實實在在地是同乙個物件才返回true

判定基本型的值是否相等。

int i1 = 47;

int i2 = 47;

system.out.println(i1 == i2); //output: true

//基本型包裝類

integer n1 = new integer(47);

integer n2 = new integer(47);

system.out.println(n1 == n2); //output: false

//string大人

string s1 = new string("hello");

string s2 = new string("hello");

system.out.println(s1 == s2); //output: false

equal 

equals()是可以判定物件內容的方法。但不能用於基本型。而且要用這個方法,必須自己過載。不然他預設只是從普通類object繼承下來的,還是比較物件的「引用」,也就 是記憶體位址。

123

4567

891011

//value型別的object沒有被過載(調教)過。當然不能比較值的大小。

class

value

}

jdk自帶過載好equals()方法的類很少。最常用的就是string以及基本型的包裝類,比如integer。

123

4567

8

//基本型包裝類

integer n1 = new integer(47);

integer n2 = new integer(47);

system.out.println(n1.equals(n2)); //output: true

//string大人

string s1 = new string("hello");

string s2 = new string("hello");

system.out.println(s1.equals(s2)); //output: true

java中 與 equal 的區別

看一段 string str1 new string str string str2 new string str system.out.println 比較 str1 str2 system.out.println equal比較 str1.equals str2 結果 比較 false equa...

java中 和 equal區別

明確概念 物件的引用 當用類建立乙個物件時,類中的成員變數被分配記憶體空間,這些記憶體空間稱為該物件的實體,而物件中存放著引用 位址 以確保該實體由該物件操作使用。一 比較物件為基本資料型別 byte,short,char,int,long,float,double,boolean 比較兩個基本資料...

java 比較字串 「 」與equal的區別

1.str1 str2 判斷str1與str2是否同乙個物件 public class teststring 特例 一般說來,編譯器每碰到乙個字串的字面值,就會建立乙個新的物件 所以在第6行會建立了乙個新的字串 the light 但是在第7行,編譯器發現已經存在現成的 the light 那麼就直...