-
直接赋值
在Java程序的底层里面有一个专门的字符串池(字符串数组)
在采用直接赋值的过程之中,对于字符串而言可以实现池数据的自动保存,这样如果再有相同数据定义时,可以减少对象的产生以提高系统的性能
-
构造方法实例化
会在内存中开辟两块空间 其中一块成为垃圾空间
因此直接赋值更加节省内存
String StrA="mldn"
String STrB=new String("mldn")
除了以上特点之外,在使用构造方法实例化String 类对象时不会自动出现保存到到对象池 可以手动入池 intern()方法
简而言之 String类两种对象实例化方式的区别:
- 直接赋值:只会产生一个实例化对象,并且可以自动保存到对象池中,以实现对象的复用
- 构造方法赋值:会产生两个实例化的对象,并且不会自动入池,无法实现对象的重用