String str="abc";和String str=new String("abc");的区别
String str="abc";
String str=new String("abc");
19
收起
正在回答
1回答
String str1 = "abc";
String str2 = "abc";
String str3 = new String("abc");
String str4 = new String("abc");
System.out.println(str1 == str2);
System.out.println(str1 == str3);
System.out.println(str3 == str4);自己运行一下这段代码,你就知道了,这里用的是"==",不是equals(),比较的是对象的hashCode()值。
str1和str2,指向的是常量池(内存中的一块区域)中的同一个"abc",所以他们指向的是同一个对象
但是str3和str4,都是新建一个对象,不指向常量池,自己独自为一个对象。
java工程师2020版
- 参与学习 人
- 提交作业 9410 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星