1) 都是 final 类, 都不允许被继承;
2) String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的;
3) StringBuffer 是线程安全的, StringBuilder 不是线程安全的。
说明:String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以需要经常改变字符串的长度最好不要使用String对象,因为每次都会产生一个新的String对象,会对系统性能产生影响。
StringBuilder 是StringBuilder的简易替换,提供跟StringBuffer一样的api方法,但StringBuilder比StringBuffer速度更快,在单线程情况中建议使用StringBuffer,在Android5.0中也新增了StringBuilder,
2) String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的;
3) StringBuffer 是线程安全的, StringBuilder 不是线程安全的。
说明:String是不可变的对象, 因此在每次对String 类型进行改变的时候,都会生成一个新的 String 对象,然后将指针指向新的 String 对象,所以需要经常改变字符串的长度最好不要使用String对象,因为每次都会产生一个新的String对象,会对系统性能产生影响。
StringBuilder 是StringBuilder的简易替换,提供跟StringBuffer一样的api方法,但StringBuilder比StringBuffer速度更快,在单线程情况中建议使用StringBuffer,在Android5.0中也新增了StringBuilder,