Java字符串

String s1="ab";
String s2="a"+"b";
System.out.println(s1==s2);//true

String s1 = "abc";
String s2 = "ab";
String s3 = s2 + "c";
System.out.println((s1 == s3));//false

String s1 = "abc";
final String s2 = "ab";
String s3 = s2 + "c";
System.out.println((s1 == s3));//true


参考:
理解Java常量池
Java String对象的经典问题(new String())
Java堆.栈和常量池 笔记
java编译器对string常量表达式的处理和优化
Java 程序内存分析

你可能感兴趣的:(Java字符串)