String和StringBuffer的区别

String和StringBuffer的区别

String:

1.是对象不是原始类型。
2.为不可变对象,一旦被创建,就不能修改它的值。
3.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
4.String是final类,即不能被继承。


StringBuffer:

1.是一个可变对象,当对它进行修改的时候不会像String那样重新建立对象。
2.它只能通过构造函数来建立,StringBuffer subffer=new StringBuffer();
3.对象被建立以后,在内存中就会分配内存空间,并初始保存一个null,通过它的append方法向其赋值 subffer.append(“hello word”);

字符串连接操作中StringBuffer的效率要明显比String高;String对象是不可变对象,每次操作String都会建立新的对象来保存新的值。StringBuffer对象实例化后,只对这一个对象操作。

原文地址:https://www.cnblogs.com/codedisco/p/12565093.html