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 }
浙公网安备 33010602011771号