大家看看一下代码:
public class Main {
public static void main(String[] args) {
String str1 = new String("123456");
String str2 = new String("123456");
System.out.println(str1 == str2);
}
}
输出结果为false(我知道是因为"=="符号比较的是str1与str2的空间存储位置,因为分配了两个空间存储·,所以输出false)
大家再看看这个代码
public class Main {
public static void main(String[] args) {
String str1 = "123456";
String str2 = "123456";
System.out.println(str1 == str2);
}
}
输出结果为true,按我的理解就是这里没有new String()对象,而"123456"这个对象是系统分配分配空间的,只是把"123456"对象初始化str1和str2,也就是str1和str2引用了"123456";
大家对下面的代码有什么理解,欢迎帮我指导指导,感谢!