欢迎来到天天文库
浏览记录
ID:57688542
大小:11.50 KB
页数:1页
时间:2020-09-01
《Java中String声明字符串两种方法的区别.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java中String声明字符串两种方法的区别方法1:Stringmsg=“Hello”;直接赋值。该方法执行后会自动将字符串“Hello”保存在字符串池中。则第二次使用直接赋值时,先检测字符串池中是否已存在“Hello”,如果存在,则将堆地址赋给引用。PublicclassStringDemo{Stringmsg1=“Hello”;Stringmsg2=“Hello”;}执行后使得msg1与msg2的指向的地址是相同的。即内存中只有一个Hello的值。被两个引用所指向。String类采用了共享的设计模式。方法2:Stringmsg=newString(“He
2、llo”);构造方法赋值。该方法执行后,会开辟两个内存空间(耗费资源),msg会指向其中的一个,而另一个没有引用指向,就会成为垃圾内存被清理掉。使用构造方法声明的“Hello”不会自动保存到字符串池中,不能共享。PublicclassStringDemo{Stringmsg1=newString(“Hello”);Stringmsg2=newString(“Hello”);}执行后,虽然内容一样,但是存放的地址是不一样的。他不会自动保存在字符串内存池中。//可使用intern()方法手工保存至字符串池中。
此文档下载收益归作者所有