public class StringBufferDemo { public StringBufferDemo(){ // insertAndAppend(); // lengthAndContent(); readAndChange(); } /** * 演示插入和追加的相关操作 */ private void insertAndAppend(){ StringBuffer s1 = new StringBuffer("Hello"); //append(String str)将指定的字符串追加到此字符序列。 //其中的各种重载方法,就不一一赘述 System.out.println(s1.append(",world")); //insert(int offset, String str)将字符串插入此字符序列中。 //offset - 偏移量;str - 一个 string。 //其中的各种重载方法,就不一一赘述 StringBuffer s2 = new StringBuffer("Hello"); System.out.println(s2.insert(5, ",world")); } /** * 演示StringBuffer的长度和容量相关操作 */ private void lengthAndContent(){ StringBuffer s1 = new StringBuffer("Hello,world"); //length()返回长度(字符数) System.out.println(s1.length()); //capacity()返回当前容量。即内存空间数量。通常会大于length( ) System.out.println(s1.capacity()); //setLength(int newLength) //newLength - 新长度,必须大于或等于 0。 //改变s1中字符的个数,如果newLength大于原个数,则新添的字符都为空(""); //相反,字符串中的最后几个字符将被删除。 s1.setLength(7); System.out.println(s1); } /** * 读取和改变StringBuffer对象中的字符 * 读取StringBuffer对象中的字符的方法有:charAt和getChar, * 这与String对象方法一样,故不再赘述 */ private void readAndChange(){ StringBuffer s1 = new StringBuffer("Hello,world"); //setCharAt(int index, char ch)将给定索引处的字符设置为 ch。 //index - 要修改的字符的索引。ch - 新字符。 s1.setCharAt(2, 'a'); System.out.println(s1); //replace(int start, int end, String str) //使用给定 String 中的字符替换此序列的子字符串中的字符。 //start - 起始索引(包含);end - 结束索引(不包含);str - 将替换原有内容的字符串。 System.out.println(s1.replace(2, 5, "dj")); //delete(int start, int end)移除此序列的子字符串中的字符。 //start - 起始索引(包含);end - 结束索引(不包含) StringBuffer s2 = new StringBuffer("Hello,world"); System.out.println(s2.delete(1, 3)); //deleteCharAt(int index)移除此序列指定位置的 char。此序列将缩短一个 char。 //index - 要移除的 char 的索引 StringBuffer s3 = new StringBuffer("Hello,world"); System.out.println(s3.deleteCharAt(3)); } /** * @param args */ public static void main(String[] args) { new StringBufferDemo(); } }