不太知道System.out.printnl后面重新赋值什么意思,不太理解,大神解释一下
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
首先,String类型的数据都是存储在常量池中的,你第一次使用的时候在常量池建立了一个对象,将这个对象的引用指向了love也就是说love里面只是保存的imooc的引用。第二次复制的时候也是在常量池创建一个新的对象,将这个新的对象的引用指向了love 所以love就指向了新的值也就是i love imooc了。第一个对象java会自动回收 |
|
|
|
|
在堆内存创建了新的字符串对象,变量 指向了新创建的字符串对象! |
|
|
|
|
以前love的值被赋值为“imooc”这个字符串,现在love=“i love imooc”,他的值就变为了“i love imooc”.就像一个杯子,以前里面装的是水,现在把水倒掉,装上果汁,重新赋值,就是这歌意思 |
|
|
|
|