String的equals和 的小實驗

2022-04-05 18:32:42 字數 735 閱讀 4898

1: string s3="huangyang";

2:
3:  string s4="huangyang";
4:
5:  system.out.print(s3.equals(s4));
6:
7:  system.out.println(s3==s4);
8:
9:  string s5=new string("huangyang");
10:
11:  string s6=new string("huangyang");
12:
13:  system.out.print(s5.equals(s6));
14:
15:  system.out.println(s5==s6);

執行結果:

truetrue

truefalse

第一種定義string的方式,實際是儲存在堆中的同乙個位置,所以==顯示true,由於同乙個位置內容相同,equals顯示true;

第二種顯示定義字串為乙個類,表明string不是基本型別,而是引用型別,兩次宣告在堆中定義出兩個空間儲存s5和s6,儘管他們內容相同,還是兩個不同的堆空間儲存。

所以equals顯示true,==由於看的是比較物件的引用,所以false

Object 和 String 的equals比較

先看一段string 和 乙個普通類的equals方法的比較 object 中的equlas的使用 author dell public class testequals dog 中的沒有equals方法的重寫 author dell public class dog cat 重寫了equals方法...

String的介紹 乾貨 和equals區別

string類是final類,也即意味著string類不能被繼承,並且它的成員方法都預設為final方法。大家 原始碼會發現string類其實是通過char陣列來儲存字串的.string物件一旦被建立就是固定不變的了,對string物件的任何改變都不影響到原物件,相關的任何change操作都會生成新...

String使用equals和 比較的區別

操作符的作用 1 用於基本資料型別的比較 2 判斷引用是否指向堆記憶體的同一塊位址。equals的作用 用於判斷兩個變數是否是對同乙個物件的引用,即堆中的內容是否相同,返回值為布林型別 在class檔案中有一部分 來儲存編譯期間生成的 字面常量以及符號引用,這部分叫做class檔案常量池,在執行期間...