public class Foo {
public static void main(String[] args) {
foo();
bar();
}
public static void foo() {
String s = "str4";
String s1 = "str" + s.length();
System.out.println("(s==s1)" + (s1 == s));
}
public static void bar() {
String s = "str4";
String s1 = "str" + "4";
System.out.println("(s==s1)" + (s1 == s));
}
}
Run Code Online (Sandbox Code Playgroud)
OUTPUT
(s==s1)false
(s==s1)true
Run Code Online (Sandbox Code Playgroud)
在String s1 ="str"+ s.length(); s1 = str4的值但在double equal(==)检查期间在下一个sysout语句中结果为false
*/