黑马程序员技术交流社区

标题: 字符串的区别! [打印本页]

作者: 郝聚德    时间: 2015-6-1 12:30
标题: 字符串的区别!
String s = "abc" ;
String s = new String("abc");
有啥区别
作者: 耀阳圣尊    时间: 2015-6-1 12:33
Java运行环境有一个字符串池,由String类维护。执行语句String s="abc"时,首先查看字符串池中是否存在字符串"abc",如果存在则直接将"abc"赋给s,如果不存在则先在字符串池中新建一个字符串

"abc",然后再将其赋给s。
执行语句String s=new String("abc")时,不管字符串池中是否存在字

符串"abc",直接新建一个字符串"abc"(注意:新建的字符串"abc"不是在字符串池中),然后将其付给s。
前一语句的效率高,后一语句的效率低,因为新建字符串占用内存空间。

我的回复是否成功给您解决了疑惑呢?
作者: 郝聚德    时间: 2015-6-1 12:36
耀阳圣尊 发表于 2015-6-1 12:33
Java运行环境有一个字符串池,由String类维护。执行语句String s="abc"时,首先查看字符串池中是否存在字符 ...

谢谢大神了 说的很清晰  很明白  我知道了
作者: wangkai    时间: 2015-6-1 17:56
楼上讲解很明确




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2