我有兩個字符串驗證字符串創建兩個對象:我想知道,我們如何能夠利用新的
String s = "ABC";
String s1 = new String("ABC");
從理論上講,如果我沒有在這種情況下,創造了兩個錯誤的對象。我可以驗證使用hashcode()。
public static void main(String[] args) {
System.out.println(s.hashCode());
System.out.println(s1.hashCode());
}
}
輸出:
2125849484
2125849484
如果我沒看錯的,hashcode()
不僅有助於我們在驗證其分配給它的「ABC」類似的價值無論是字符串,因爲這樣哈希碼值相同。在堆內存中創建的第二個對象呢?我們如何驗證它是否被創建。
你真的需要知道嗎? – Carcigenicate
@Carcigenicate,如果有可能找出答案。好的! –
要查看兩個引用是否不是引用同一個對象,請使用's!= s1',這也是爲什麼您不能使用'=='比較字符串,除了實際上想檢查「字符串對象。所以,** **的對立面[我如何比較Java中的字符串?](http://stackoverflow.com/q/513832/5221149)。 – Andreas