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

问问问问问

为什么String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象 这个设定难道不是很蛋疼?如果说新定义一个字符串,老的那个还留着,那他的意义是什么。 顺便问一下,怎么在这里直接提问,我每次都要从评论区跳转过去(难道只有我这么干(o゜▽゜)o)

正在回答

2 回答

因为 String 本来就不建议频繁修改啊。。。

指向新的对象以后 旧的就被垃圾回收了。。

如果是修改,性能会下降的。。。

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

青铜手_王者心 提问者

原来旧的被回收了,照教程图上看,我以为旧的那个"爱慕课"还神奇的存在着。那么这样的设定不是很正常吗,还有什么类型的变量不是这样的呢
2016-08-24 回复 有任何疑惑可以回复我~
#2

青铜手_王者心 提问者

顺便回答一下我的第二的问题吧 多谢
2016-08-24 回复 有任何疑惑可以回复我~
#3

乱舞的旋律 回复 青铜手_王者心 提问者

java有垃圾回收机制的,,这种机制就是对象一个引用都没有后,就会被回收。。
2016-08-24 回复 有任何疑惑可以回复我~
#4

青铜手_王者心 提问者

我的意思是,这样的机制难道不对所有类型的变量都有效吗,为什么单独拎出string来讲
2016-08-25 回复 有任何疑惑可以回复我~
查看1条回复

都有效啊,,

其他对象的方法很多是修改对象本身

string 可能是重新创建一个或者部分引用

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

青铜手_王者心 提问者

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

举报

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

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

进入课程

问问问问问

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