String s=new String("abc")
String本身就是一个类,而一个字符串就是String类的匿名对象,如果使用了new关键字,那么无论如何都会重新开辟一个空间而这个空间的内容还是"abc"
之后另外一个“abc”就成垃圾了
加入用 String s="abc" 那么内存中始终只有一份abc 当重新再定义 String r="abc" 时 r和s 指向的是同一个内存空间
可以用这样的代码来验证
String s="abc" ;
String r="abc" ;
String b=new String("abc")
System.out.println(s==r);
结果返回的是true
System.out.println(s==b);
结果返回的false
则可以验证我上面所说的了 |