如果你已经学习过String类的话,一定会知道它是用来处理字符串的。但是String类有一个不足之处,那就是它创建的字符串对象是无法修改的,我们无法对其增加或者是删除内容。因此,我们需要一个更加灵活的类来满足这个需求,那就是StringBuffer了。
我们先来看看如下代码,学习一下StringBuffer的常用方法:
public class Test {
public static void main(String[] args) {
//append()方法:拼接字符串
StringBuffer buffer = new StringBuffer();
buffer.append("我喜欢");
buffer.append("看书");
buffer.append(",看电影");
buffer.append(",听音乐。");
System.out.println(buffer.toString());
//charAt(n):得到参数n指定的置上的单个字符
char c = buffer.charAt(4);
System.out.println(c);
//insert(int index, String str):将参数str指定的字符串插入到参数index指定的位置
buffer.insert(7, "科幻");
System.out.println(buffer.toString());
//replace():替换特定位置的字符串,注意输入的参数是前闭后开,也就是15指的是下标为14前面的字符串,不包括14本身。
buffer.replace(12, 15, "踢足球");
System.out.println(buffer.toString());
}
}
运行结果:
我喜欢看书,看电影,听音乐。
书
我喜欢看书,看科幻电影,听音乐。
我喜欢看书,看科幻电影,踢足球。
从上面的代码可以看到,append()方法可以拼接字符串,它能够按照从上到下的顺序像串珍珠一样把字符串联起来。
charAt(n)方法能够检索下标为n的字符,比如我这里的n为4,那么得到的就是下标为4的第五个字符:书。
insert()方法顾名思义就是插入字符串的,它有两个参数,第一个参数是你要插入字符串的位置,比如你要具体说明是什么类型的电影,那么就可以在下标为7的位置开始插入“科幻”;第二个参数很明显了,就是你要插入的字符串内容。
replace() 稍微复杂一点,第三个参数很好理解,就是你要替换后的新字符串。关键是前面两个参数,这是一个半闭半开的区间,什么意思呢?比如我这里写入的是12和15,那么替换的范围就从下标12开始,一直到下标为15的前面结束。也就是12-14,15是不能被替换的。