首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于String的有关问题

2012-02-13 
关于String的问题请问Stringa abc 与StringanewString()a abc 有什么区别[解决办法]Java运行环

关于String的问题
请问String   a= "abc ";
与String   a=new   String();
    a= "abc ";
有什么区别

[解决办法]
Java运行环境有一个字符串池,由String类维护。执行语句String str= "abc "时,首先查看字符串池中是否存在字符串 "abc ",如果存在则直接将 "abc "赋给str,如果不存在则先在字符串池中新建一个字符串 "abc ",然后再将其赋给str。执行语句String str=new String( "abc ")时,不管字符串池中是否存在字符串 "abc ",直接新建一个字符串 "abc "(注意:新建的字符串 "abc "不是在字符串池中),然后将其付给str。前一语句的效率高,后一语句的效率低,因为新建字符串占用内存空间。String str = new String()创建了一个空字符串,与String str=new String( " ")相同

热点排行
Bad Request.