代码如下,请问为啥会是这种情况?
public class Main {
public static void main(String[] args) {
test1();
test2();
}
public static void test1() {
String x = "x";
String y = "y";
String a = x + y;
String c = a.intern();
String b = "xy";
System.out.println(a == c); //输出true
}
public static void test2() {
String x = "x";
String y = "y";
String a = x + y;
String b = "xy";
String c = a.intern();
System.out.println(a == c); //输出false
}
}
输出如下:
true
false