加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 字符串文字池的工作原理

发布时间:2020-12-15 08:46:47 所属栏目:Java 来源:网络整理
导读:String str = new String("Hello"); 通常我在互联网上的许多文章中都读到,当我们编写上述语句时,会创建两个对象.在堆上创建一个String对象,并在Literal Pool上创建一个字符串对象.并且堆对象也引用在Literal Pool上创建的对象. (如果错误,请更正我的陈述.)
String str = new String("Hello");

通常我在互联网上的许多文章中都读到,当我们编写上述语句时,会创建两个对象.在堆上创建一个String对象,并在Literal Pool上创建一个字符串对象.并且堆对象也引用在Literal Pool上创建的对象. (如果错误,请更正我的陈述.)

请注意,上面的解释是根据我的理解,阅读了一些互联网上的文章.

所以我的问题是..是否有任何方法可以停止在文字池中创建字符串对象.怎么做?

[请告诉我有关理解此文字池的最佳链接,如何实施]

解决方法

如果我正确理解了您的问题,那么您将询问如何初始化字符串而不将其放在字符串文字池中.只要不声明字符串文字表达式,就可以避免这种情况(不要用双引号声明一系列字符.)

// these two strings will be placed in the string literal pool
String one = "one";             
String two = new String("two");
// this third string will NOT be placed in the string literal pool
String three = new String(new char[] {'t','h','r','e','e'});

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读