String、StringBuilder、StringBuffer三者的区别
String:
-
String
String字符串变量,在String类中,使用了final关键字修饰字符数组来保护字符串,private final char value[],所以String对象是不可变的,也就是可以理解为常量,线程安全。 -
String——Buffer
StringBuffer字符串变量,线程安全,对方法加了同步锁或者对调用的方法加了同步锁,所以是线程安全的。 -
String——Builder
StringBuilder字符串变量,,线程不安全,并没有对方法进行加同步锁,所以是非线程安全的。
小结:如果要操作少量的数据用String;如果是在多线程下操作字符串缓冲区下操作大量的数据用StringBuffer;如果单线程操作字符串缓冲区下操作大量数据用StringBuilder。