66问答网
所有问题
实际编程中,什么情况会用String s = new String("abc"),什么情况用String s = "abc";
如题所述
举报该问题
推荐答案 2012-02-07
Java运行环境有一个字符串池,由String类维护。执行语句String s="abc"时,首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给s,如果不存在则先在字符串池中新建一个字符串 "abc",然后再将其赋给s。执行语句String s=new String("abc")时,不管字符串池中是否存在字 符串"abc",直接新建一个字符串"abc"(注意:新建的字符串"abc"不是在字符串池中),然后将其付给s。前一语句的效率高,后一语句的效率低,因为新建字符串占用内存空间
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/pxsnU9viv.html
其他回答
第1个回答 2012-02-07
前面表示新建一个String对象,会重新分配内存
后者表示引用一个内容为“abc”的String成员,如果内存中有这种内容,就降内存地址付给s;如果没有,则会为s分配内存,并赋值
第2个回答 2012-02-07
建议string类型的不要使用new关键字进行初始化。stringbuffer是要用new的
第3个回答 2012-02-07
http://youxi.baidu.com/go.xhtml?id=108&next=enter
相似回答
大家正在搜
相关问题
String s = "abc" 与 String s = ...
java编程: String s=new String("a...
String s="abc"与String s= new S...
String s = new String("abc"); ...
java中预定类String 为什么可以直接 String ...
执行String s=new String后,哪个结论是正确...
String s = new String("abc");在...
String s=new String("abc");