首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串Intern文档

字符串Intern文档
EN

Stack Overflow用户
提问于 2014-03-26 19:49:15
回答 2查看 108关注 0票数 1

java.lang.String.intern() API doc说

否则,将此字符串对象添加到池中,并返回对此字符串对象的引用。

它告诉我们,如果字符串对象不在池中,它将将相同的字符串对象添加到池中。所以在下面的代码中,为什么输出不是true

代码语言:javascript
复制
String s1 = new String("abc");
String s2 = s1.intern();
System.out.println(s1 == s2);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-26 19:52:03

所有字符串文本都会自动内嵌。因此,s1.intern()"abc"返回已经实习生的实例,而不是s1

要创建一个字符串而不需要实习,您可以编写new String("a") + "bc"

票数 7
EN

Stack Overflow用户

发布于 2014-03-26 19:51:37

因为"abc"已经在字符串池中:当您引用字符串常量"abc"将其复制到这个新的String时,它被添加到了String池中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22671595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档