1
public class D2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String s1="java";
String s2="ja".concat("va");
System.out.println(s1==s2);
}
}
在s2中連接兩個字符串常量不會導致一個新的字符串對象(僅創建字符串對象,使用或燙髮參考像級聯S1新時)。請說明爲什麼o/p是錯誤的。字符串常量池查詢
'concat' **會創建一個新的'String'。 – Maroun
http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java?lq=1可能有幫助 – KonradOliwer
concat是運行時語句,編譯器不能告訴運行時狀態的結果當它編譯代碼時,新的「java」將成爲新的字符串,與字符串池不一樣 – VinhNT