StringBuffer类常用方法

对于String,StringBuffer,StringBuilder三者:效率上StringBuilder>StringBuffer>String:开发中常用StringBuffer

 

 1 /**
 2  * String,StringBuffer,StringBuilder的异同点:
 3  * 1:String:不可变的字符序列
 4  * 2:StringBuffer:可变的字符序列,线程安全的,效率低,通过char[]数组存储字符串
 5  * 3:StringBuilder:可变的字符序列,线程不安全,效率高,通过char[]数组存储字符串
 6  * 说明:StringBuffer:char[]数组的长度是16个字符
 7  *      StringBuffer的扩容:默认情况下,扩容为原来容量的2倍+2,同时将数组中的元素复制到新的数组中
 8  *      开发中建议使用StringBuffer:
 9  ***********************************
10  *StringBuffer类的常用方法:
11  * 1:增:append(xxx):
12  * 2:删:delete
13  * 3:改:replace
14  * 4:查:charAt
15  * 5:长度:length
16  */
17 public class StringBufferTest {
18     public static void main(String[] args) {
19         StringBuffer stringBuffer = new StringBuffer("abc");
20         System.out.println(stringBuffer.length());//此时的长度是3:因为长度与容量不一样,容量为16
21         System.out.println(stringBuffer.append("huang"));//append:拼接字符串
22         System.out.println(stringBuffer.delete(1,3));//delete:左闭右开
23         System.out.println(stringBuffer.charAt(1));//charAt:获取指定位置上的字符
24         System.out.println(stringBuffer.replace(0,2,"hpp"));//replace:指定位置替代字符串
25         System.out.println(stringBuffer.indexOf("g"));//返回指定字符的索引位置与charAt相反
26         for (int i = 0; i < stringBuffer.length(); i++) {
27             System.out.print(stringBuffer.charAt(i)+"\t");
28         }
29     }
30 }

 

posted @ 2021-10-16 19:41  tiiiiii  阅读(108)  评论(0)    收藏  举报