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版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星