String s1="I love you";与String s2=new String("I love you");的区别。为什么练习中只能用第一种不能用第二种
第一种如果"I love you"这个字符串不存在,则创建一个String对象(“ABC”),然后s1指向这个内存地址,无论以后用这种方式创建多少个值为"I love you"的字符串对象,始终都指向这个内存地址。
第二种直接创建新的对象,不管字符串相不相同,分配地址不同,直接==的话都返回false
他俩的区别在于后面是创建了对象的,如果你定义string s1 = "aa" s2 = "aa",那么
s1和s2的值和地址都是相同的,用new则不同