和 equals 的區別

2021-08-06 04:54:41 字數 2356 閱讀 5678

people類(用於演示)

package demo8;

/** *

*@classname: people

*@description:演示

*@author cheng

*@date 2017-8-11 下午04:32:16

*/public

class

people

/*** 重寫

*/@override

public

boolean

equals(object obj)

return

false;

}return

false;

}public

people(string name, int age)

@override

public string tostring()

public string getname()

public

void

setname(string name)

public

intgetage()

public

void

setage(int age)

}

測試

package demo8;

/** *

*@classname: addresstest

*@description: 測試

*@author cheng

*@date 2017-8-14 下午03:29:09

測試

package demo8;

/** *

*@classname: addresstest

*@description: 測試

*@author cheng

*@date 2017-8-14 下午03:29:09

1.string中已經複寫了equals(),源**如下:

public boolean equals(object anobject) 

if (anobject instanceof string)

return

true;}}

return

false;

}

2.string類兩種建立方式的不同第一種方式:

先去字串池查詢是否有相同的字串,

若有相同的字串,直接指向該字串,不建立新的物件;

若沒有相同的字串,建立乙個新的字串物件,並放到字串池中

string str1 = "str1";

string str2 = "str1";

string str3 = "str2";

建立如下圖:

第二種方式:

只要看到new關鍵字,直接建立乙個新的物件.並且不會把建立的字串放到字元窗池中!!!

string str1 = new

string("str1");

string str2 = new

string("str1");

string str3 = new

string("str2");

建立如下圖:

特別注意:

string str1 = new

string("str1");//建立乙個新的物件

string str2 = "str1";//字串池中沒有此字串,建立乙個新的物件

system.out.println(str1 == str2);//兩者指向的物件位址不一致,false

Equals 和 的區別

對於值型別,如果物件的值相等,則相等運算子 返回 true,否則返回 false。對於string 以外的引用型別,如果兩個物件引用同乙個物件,則 返回 true。對於 string 型別,比較字串的值。操作比較的是兩個變數的值是否相等。equals 方法比較的是兩個物件的內容是否一致 equals...

equals 和 的區別

equals 方法 是string類從它的超類object中繼承的 被用來檢測兩個物件是否相等,即兩個物件的內容是否相等。用於比較引用 和 比較基本資料型別時具有不同的功能 1.比較基本資料型別,如果兩個值相同,則結果為true 2.而在比較引用時,如果引用指向記憶體中的同一物件,結果為true s...

和equals的區別

和 equals 的區別 1.是乙個運算子。2.equals則是string物件的方法,可以.點 出來。我們比較無非就是這兩種 1 基本資料型別比較 2 引用物件比較 1 基本資料型別比較 和equals都比較兩個值是否相等。相等為true 否則為false 2 引用物件比較 和equals都是比較...