public class Test {
public static void main(String[] args) {
String a = "hello2";
final String b = "hello";
String d = "hello";
String c = b + 2;
String e = d + 2;
System.out.println((a == c));
System.out.println((a == e));
}
结果是对与错。 “ ==”是否不等于字符串地址相等? 我认为结果是False Fasle
答案 0 :(得分:-1)
由于使用final关键字,编译器可以在编译时用字符串c
替换hello2
,并且a
和c
都从字符串池中加载,因此它们是对池中相同字符串的相同引用。