錯誤的
真實的
真實的
對於引用變量來說,這個“= =”符號不僅是判斷變量的值,也是表示兩個變量的堆中存儲的地址是否相同。
第壹,壹開始程序在內存中創建了壹個s1 = "programming "的對象,然後來了壹個s2=new String("Programming ")。註意s2使用了new運算符,所以系統會創建壹個新對象,也就是創建壹個新對象,所以S1和s2不會在同壹個內存地址。所以是假的。記住,任何帶有new的對象肯定會創建壹個不同的內存地址。
第二,當“program”和“Ming”兩串加在壹起,結果是“Programming”,所以相當於S3 =“Programming”。當創建壹個s3對象時,程序會先在這個字符串內存中尋找具有相同值的對象,即找到具有相同值的s1,然後s3引用s1所引用的對象,即,
第三,看看string的intern()方法的描述,就知道這個方法返回的是string對象的規格化表示,也就是String本身,所以是真的。