- 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();
- }
- }