为了账号安全,请及时绑定邮箱和手机立即绑定

求大神指教String

String s1="I  love  you";与String s2=new String("I love you");的区别。为什么练习中只能用第一种不能用第二种

正在回答

2 回答

第一种如果"I  love  you"这个字符串不存在,则创建一个String对象(“ABC”),然后s1指向这个内存地址,无论以后用这种方式创建多少个值为"I  love  you"的字符串对象,始终都指向这个内存地址。

第二种直接创建新的对象,不管字符串相不相同,分配地址不同,直接==的话都返回false




第一种
1 回复 有任何疑惑可以回复我~
#1

夏飞雪 提问者

非常感谢!
2016-11-25 回复 有任何疑惑可以回复我~

他俩的区别在于后面是创建了对象的,如果你定义string s1 = "aa"  s2 = "aa",那么

s1和s2的值和地址都是相同的,用new则不同

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409780    人
  • 解答问题       4339    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

求大神指教String

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信