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
则可以验证我上面所说的了,大致的理解就是像上面所说的一样!
|