简介
String为字符串常量,String对象一旦创建之后该对象是不可更改的;StringBuilder和StringBuffer均为字符串变量,是可以更改的。
区别
运行速度
-
StringBuilder > StringBuffer > String
String拼接字符串是需要JVM不断创建新对象和回收老对象;StringBuffer许多方法带有synchronized关键字。
线程安全
StringBuilder是线程不安全的,而StringBuffer是线程安全的
总结
String适用于少量的字符串操作的情况
StringBuilder适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer适用多线程下在字符缓冲区进行大量操作的情况