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