PFB 我试图理解的一段代码。
public static void main(String[] args) {
String s1 = "dexter7";
String s2 = "dexter" + "7";
System.out.println(s1==s2); //line 1 - Output is true
String s3 = "dexter" + s1.length();
System.out.println(s1==s3); //line 2 - Output is false
}
根据字符串常量池的概念,如果常量池中存在一个String值,除非图中有“new”关键字,否则它将被重用而不是创建一个新的String。
那么考虑到上面代码段中标记的第 1 行和第 2 行的输出,为什么上面代码段中的这种行为会发生变化。
任何人都可以帮助我理解这一点。
谢谢。