我正在使用 JDK 1.4 和 1.5 运行此代码并得到不同的结果。为什么会这样?
String str = "";
int test = 3;
str = String.valueOf(test);
System.out.println("str[" + str + "]\nequals result[" + (str == "3") + "]");
if (str == "3") {
System.out.println("if");
} else {
System.out.println("else");
}
输出:
在 jdk 1.4 上
str[3] equals result[true] if
在 jdk 1.5 上
str[3] equals result[false] else