对于String 和 == 的渊源我要从两个点说起:

 首先就是  String 为常量的时候(String 的定义被final过):

String a = "a";  String b ="a";    a==b     true   这是因为"a"第一次String的时候被放进了常量池 ,第二次被创建的时候发现有了,就直接找到"a"的地址引用给b    所用 a和b的地址就相等啦~

String a = new String("a");

String b = new String("a");

false哦。

String  a = new String("a");

String b = "a";

false哦。