当然是对象了,字符串池中的值也是个对象,而你new当然一定是对象.new对象的话会在堆中分配内存,如果你new多个对象就会在堆中分配多块内存,如果你在字符串池中创建的对象,当你创建同一个对象的时候,第二次创建的就会返回第一次创建的.
String str1 = "hello";
String str2 = "hello";
str1和str2是同一个对象.来自于同一个地址.
你要是
String str1 = new String("hello");
String str2 = new String("hello");
两次new都会在堆中分配多余的内存。
所以呢平时最好不要直接new。
|