直接赋值就是将一个字符串的匿名对象设置一个名字。
String str=“hello”;
如果后续还有其他的String类也采用直接赋值的方法。并且设置了同样内容的时候,那么将不会开辟新的堆内存空间,而是使用已有的对象进行引用分配,继续使用。
采用构造方法实例化。
使用构造方法就一定要使用关键字new,一旦使用了关键字new就表示一定要开辟一块新的堆内存。
String str=new String("hello");
使用构造方法进行string类对象实例化的时候对开辟两块堆内存。(其中一块堆内存空间将成为垃圾空间)
如果使用了构造方法定义的String类对象,其内容不会保存在对象池之中
要是想让其入池就使用public String intern(;)
范例;
public class StringDemo{
public static void main(String args[]){
String str=new String("hello").intern();
String stra="hello";
System.out.println(str.equals(stra));
}
}