Java提供了两种类型的字符串:String和StringBuffer/StringBuilder,它们都可以储存和操作字符串。
主要体现在2个方面:运行速度和线程安全
运行速度:StringBuilder>StringBuffer>String
String:字符创常量,即对象一旦创建之后,就不能更改。
StringBuilder和StringBuffer:字符串变量,是可以更改的,对变量进行操作就是直接对该对象进行更改,而不进行创建和(GC)回收的操作,所以速度比String快。
线程安全:
StringBuilder:线程不安全
StringBuffer:线程安全
总结:
String:适用于少量的字符串操作的情况。
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况。
StringBuffer:适用于多线程下在字符缓冲区进行大量操作的情况。