java字符串池入口和堆入口机制

标签 java string

String s1 = new String("string") 在 java 中创建两个对象。一个在字符串池中,一个在堆中。现在,如果我在这之后写另一个语句,例如 String s2 =“string”。它会在字符串池中创建另一个对象还是返回前一个对象的引用?

最佳答案

String s2 = "string";将从字符串池中返回对象。

    String s1 = new String("s");
    String s2 = "s"; // from pool
    String s3 = "s"; // from pool
    System.out.println(s1 == s2); // false
    System.out.println(s3 == s2); // true

关于java字符串池入口和堆入口机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45037525/

相关文章:

java - 通过类扩展和返回值

java - Tomcat 7 问题 - 无法启动服务器实例

java - 将 org.wc3.dom.Element Java 对象写入 javax.xml.stream.XMLStreamWriter 的最佳方法是什么?

java - 如何打印带有零填充的字符串?

java - 来自除主布局之外的其他布局的小部件上的空指针异常

java - 有没有办法删除 JShell 中的历史记录?

r - 在单词的字母之间插入空格

java - 如何在 Java 中的 tokenizer 中将 char 转换为 String

python - str.format(**arg) 可以用来检查格式吗?

javascript - 困惑为什么我的正则表达式不起作用?