String s1 = new String("string");
String s2 = new String("string");
String s3 = "string";
String s4 = "string";
System.out.println(s1 == s2); //FALSE
System.out.println(s2.equals(s1)); //TRUE
System.out.println(s3 == s4); //TRUE
System.out.println(s3.equals(s4)); //TRUE
s1
和 和有什么不一样s3
?请告诉我
在 String 中,我们只有 String 对象,那么为什么它会以不同的方式对待这两个对象。s1 和 s2 具有不同的内存地址,而 s3 和 s4 具有相同的内存地址。为什么它基于new
运营商工作。?