String字符串存储原理

1.所有字符串常量均存在字符串常量池中。

2.凡是双引号括起来的都在字符串常量池中有一份

如下代码:

public class StringTest {

    public static void main(String[] args) {
        String s1 = "abcdef";
        String s2 = "abcdef" + "xy";
    String s3 = new String("xy");
} }

在字符串常量池中会产生三个字符串常量对象,分别是:abcdef,xy,abcdefxy,堆中会创建一个String对象,并且这个对象中的某数据会指向常量池中的xy

并且s1中保存的并不是abcdef,而是这个字符串对象的内存地址

原文地址:https://www.cnblogs.com/xuhan74520/p/13887146.html