这两种说法究竟有什么区别
String s1="abc";
String s2=new String("abc");
据我所知,第一条语句将在字符串池中创建一个对象,即 s1 将冷藏它。在第二条语句中,它将创建两个对象,因为我使用了 new 关键字,而 s2 将引用字符串池中的对象
现在,如果我一个接一个地执行这两个语句。由于第一个语句,对象“abc”将在字符串池中,并且随着第二个语句的执行,s2 将引用在字符串池中已经存在的对象,如果我执行 s1= =s2 它应该返回 true,但是它返回 false。
你能解释一下为什么吗?