一、StringBuffer与StringBuilder的作用
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
二、StringBuffer与StringBuilder的区别
StringBuffer与StringBuilder 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。
因而StringBuilder 类的效率要高于StringBuffer类。
三、StringBuffer与StringBuilder的构造方法(结构类似,这里以StringBuffer为例)
无参构造方法
StringBuffer():构造一个其中不带字符的字符缓冲区,初始容量为16个字符
带参构造方法
StringBuffer(CharSequence seq):构造一个字符缓冲区,它包含与指定CharSequence相同的字符
StringBuffer(int capatity) :构造一个不带字符,但具有指定初始容量的字符缓冲区
StringBuffer(String str) :构造一个字符缓冲区,并将其内容初始化为指定的字符串内容
四、StringBuffer与StringBuilder的常用方法( 方法相同,这里以StringBuffer为例)
1 append(String s):将指定的字符串追加到此字符序列
2 reverse():将此字符序列用其反转形式取代
3 delete(int start, int end):移除此序列的子字符串中的字符
4 insert(int offset, int i):将int参数的字符串表示形式插入此序列中
5 replace(int start, int end, String str):使用给定String中的字符替换此序列的子字符串中的字符
6 indexOf(String str):返回第一次出现的指定子字符串在该字符串中的索引
7 indexOf(String str, int fromIndex):从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引
8 length():返回长度(字符数)
9 subSequence(int start, int end):返回一个新的字符序列(用CharSequence接收),该字符序列是此序列的子序列
10 substring(int start, int end):返回一个新的String,它包含此序列当前所包含的字符子序列
11 toString():返回此序列中数据的字符串表示形式