1、
String s1 = new String("ab");
String s2 = new String("ab");
s1 == s2 false;
一共创建了三个对象,首先在怼中new了两个对象,常量池中先有了ab",s2不需要再创建,所以是三个,常量池中一个,堆中两个。
2、
String s3 = "ab";
String s4 ="ab";
一个对象,常量池中只有一个"ab"
3、
String s5 = "ab"+"cd";
三个对象:常量池中有:ab,cd,abcd