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对象实例化后,只对这一个对象操作。

你可能感兴趣的:(String和StringBuffer的区别)