我不理解:s1是變量,s4在運行時才知道具體值,所以s3和s4是不同的對象,在我的代碼中s3和s4應(yīng)該是一樣的呀,還有就是“ //定義字符串s3,保存“I love”和s1拼接后的內(nèi)容”到底應(yīng)該怎樣寫呀?求答
public class HelloWorld {
? ? public static void main(String[] args) {
String s1 = "imooc";
String s2 = "imooc";
? ? ? ??
? ? ? ? //定義字符串s3,保存“I love”和s1拼接后的內(nèi)容
String s3 = "I love" + s1;
? ? ? ? // 比較字符串s1和s2
? ? ? ? System.out.println(s1==s2);
// imooc為常量字符串,多次出現(xiàn)時會被編譯器優(yōu)化,只創(chuàng)建一個對象
? ? ? ? //String static?
System.out.println("s1和s2內(nèi)存地址相同嗎?" + (s1 == s2));
? ? ? ??
? ? ? ? //比較字符串s1和s3
System.out.println("s1和s3內(nèi)存地址相同嗎?" + ? ? ? ? ? ? ? ? ? (s1==s3));
String s4 = "I love " + s1;
? ? ? ? ?//比較字符串s4和s3
? ? ? ? System.out.println(s3.equal(s4));
// s1是變量,s4在運行時才知道具體值,所以s3和s4是不同的對象
System.out.println("s3和s4內(nèi)存地址相同嗎?" + (s4 == s3));
}
}
2016-02-17
ture
ture
false
ture
false
2015-11-03
瞬間秒懂,我的問題解決了哈哈!