package com.sjc.test;
public class StringTest {
public static void main(String[] args){
String a=new String("foo");
String b=new String("foo");
String c="foo";
String d="foo";
System.out.println("a=b "+(a==b));//输出falseString a=new String("foo");String b=new String("foo");是开辟的独立的内存,a、b互相独立,当然与下面的字符串池中的foo更是互不相干
System.out.println("c=d "+(c==d));//输出true,说明c、d指向了同一个内存地址String c="foo";String d="foo";是将foo存在了字符串池中,c、d都指向该foo(同一个)
}
}
经典博客,深入理解常量池:https://www.jianshu.com/p/c7f47de2ee80