string a='',我感觉并没有创建对象,在类加载的时候java源码里肯定有个空字符串已经放入到常量池了,你在引用的时候,本生已经存在了,哪里还会在字符串常量池里创建''
String a=“123” 创建一个 “123” 串 对象放入常量池
String b="123" 此时直接把b的引用指向 池中常量“123”对象 所以 a==b 结果为true
String c=new String("123"); new新建对象 "123" c引用指向 "123" a==c 结果为false a.equqls(c) 结果为true
a="45" 新建对象 “45” 放入常量池 并把 a引用指向 “45”