String str1 = "abc"; String str2 = "ab"; String str3 = str2 + "c"; str1==str3是false吗?原因?
答:是。
因为String str3 = str2 + "c"涉及到变量(不全是常量)的相加,所以会生成新的对象,其内部实现是先new一个StringBuilder,然后 append(str2),append("c"); 然后让str3引用toString() 返回的对象。
String str1 = "abc"; String str2 = "ab"; String str3 = str2 + "c"; str1==str3是false吗?原因?
答:是。
因为String str3 = str2 + "c"涉及到变量(不全是常量)的相加,所以会生成新的对象,其内部实现是先new一个StringBuilder,然后 append(str2),append("c"); 然后让str3引用toString() 返回的对象。