public class main {
public static void main(String[] args) {
String str1 = "abc";
String str2 = "abc";
String str3 = "ab" + "c";
String str4 = new String(str2);
String str5 = "ab";
String str6 = "c";
String str7 = str5 + str6;
//str1和str2引用自常量池里的同一个string对象
System.out.println(str1 == str2);
//str3通过编译优化,与str1引用自同一个对象
System.out.println(str1 == str3);
//str4因为是在堆中重新分配的另一个对象,所以它的引用与str1不同
System.out.println(str1 == str4);
//str3无法编译优化,重新分配的另一个对象
System.out.println(str1 == str7);
}
}
字符串常量和字符串变量
最新推荐文章于 2022-12-19 14:26:16 发布