String、StringBuffer、StringBuilder三者的异同?
String:不可变的字符序列;底层使用char[]存储。
StringBuffer:可变的字符序列;线程安全的,效率低;底层使用char[]存储
StringBuilder:可变的字符序列;线程不安全的,效率高;底层使用char[]存储
StringBuffer类
-
java.lang.StringBuffer代表可变的字符序列,JDK1.0中声明,可以对字符串内容进行增删,此时不会产生新的对象
-
很多方法与String相同
-
作为参数传递时,方法内部可以改变值
StringBuffer类的常用方法
-
StringBuffer append(xxx):提供了很多的append()方法,用于进行字符串拼接
-
StringBuffer delete(int start ,int end)删除指定位置的内容
-
StringBuffer replace(int start,int end,String str):把[start,end)位置替换为str
-
StringBuffer insert(int offset,xxx):在指定位置插入xxx
-
StringBuffer reverse():把当前字符序列逆转
StringBuilder类
-
StringBuilder和StringBuffer非常类似,,均代表可变的字符序列,而且提供相关功能的方法也一样
-
对比String、StringBuffer、StringBuilder
-
String(JDK1.0):不可变字符序列
-
StringBuffer(JDK1.0):可变字符序列、效率低、线程安全
-
StringBuilder(JDK5.0):可变字符序列、效率高、线程不安全
-