equals的疑惑
class?test{
????public?static?void?main(String[]?args)?{
????????String?a?=?"1";
????????String?b?=?"1";
????????System.out.println(a.equals(b));
????}????
}這段代碼中.為什么會輸出true呢 它們的值一樣的.但是那個哈希碼也是一樣的嗎
class?test{
????public?static?void?main(String[]?args)?{
????????String?a?=?"1";
????????String?b?=?"1";
????????System.out.println(a.equals(b));
????}????
}這段代碼中.為什么會輸出true呢 它們的值一樣的.但是那個哈希碼也是一樣的嗎
2018-08-09
舉報
2018-08-09
String類特殊的,當創建一個String的實例后,這個值會保存在一個叫做存儲池的位置,當兩個字符串的值相同時,變量名實際會指向同一內存空間。
2018-08-09
b和a指向同一個引用