一、"HEllo Richar"是在编译时期保存到常量池里面的,而new String("HEllo Emmy")是在运行期间实例化出来的对象,两者比较一定是不一样的。
二 、字符串的初始化
"abc"在编译时会保存在字符串常量池,定义s3时,会先从常量池里查找有没有匹配的字符串,如果有的话,会从常量池中直接赋值。所以引用是一样的。
三、注意字符串常量是放在池heap里面,而不是堆栈里面的,因为两个类里面的相同值的字符串常量,都是用常量池的同一个引用。
http://blog.youkuaiyun.com/ZangXT/archive/2009/05/19/4201979.aspx