Java中String字面量创建与new创建的区别


转载:https://blog.csdn.net/qq_45404693/article/details/120004171

public class Main {
    public static void main(String[] args) {
        String a = "string";
        String b = "string";
        if(a == b)
            System.out.println("字面量创建字符串会从字符串常量池中获取,如果没有再创建");
 
        String c = new String("string");
        if(a != c)
            System.out.println("new创建不会从常量池中获取,每次都会新开辟一个空间");
 
        String d = new String("string2");
        String e = "string2";
        if(d != e)
            System.out.println("new创建的字符串不会加入到字符串常量池中");
    }
}


字符串常量池在堆中

posted @ 2022-06-28 16:40  Chenyi_li  阅读(86)  评论(0)    收藏  举报