String、StringBuffer、StringBuilder的异同
不同:
可变性上:
String底层是一个final类型的字符数组,所以String的值是不可变的
StringBuffer和StringBuileder都继承了AbstractStringBuilder抽象类,他们的底层都是可变的字符数组,所以这两者是可变的
线程安全上:
String由于其不可变性,是线程安全的
StringBuffer的方法有synchronized关键字修饰,是线程安全的
StringBuilder不是线程安全的
效率上:
三者效率由高到低分别为:StringBuileder > StringBuffer > Strin
注:StringBuffer和StringBuileder默认初始化容量都是16