(JAVA):字符串的拼接插入-----StringBuffer类的常见API
目录
前言:
把握好运,赢得名声
运气变化无常,却能助人一生,名声永恒持久,却总是姗姗来迟。获得好运之后要防范别人的嫉恨,获得名声之后要防止被别人遗忘。你可以渴求好运,有时也能够实现愿望,但名声却是靠孜孜不倦的努力得来的。对名声的渴望来源于美德。古往今来,名声总是与巨人相伴,而且会分成两个极端:不是臭名远扬的奸雄怪杰,就是众人皆赞的天才英豪。
1、StringBuffer类的初始化
注意:
StringBuffer在字符串操作上克服了String拼接会产生多个对象的问题。它可以以一个字符串作为参数进行初始化。
常见的三种初始化:
第一种:
StringBuffer str1 = new StringBuffer(); //无参构造函数初始化
第二种:
StringBuffer str1 = new StringBuffer("ting"); //使用字符串对象进行初始化
第三种:
StringBuffer str2 = new StringBuffer(str1);//使用另一个StringBuffer对象进行初始化
2、append() 方法
声明:
StringBuffer append(String s)
功能:
将指定的字符串追加到此字符序列。代码示例1:
运行结果1:
CSE (说明:初始化对象是空的,所以结果是追加的字符)
代码示例2:
运行结果2:
CSE你是18agetrue
结果分析:
从运行结果看,StringBuffer的append() 方法可以追加任何类型的值,并将之转换成字符串添加到StringBuffer对象的末尾。StringBuffer将boolean类型的变量的值当成是字面量追加到末尾,而其他类型则直接当成一个字符进行追加。
3、insert() 方法
声明:
insert(int offset, String str)
功能:
将str
参数的字符串插入此序列中。代码示例:
运行结果:(承接前面的结果进行改变)
CS我E你是18agetrue
扩展示例:
3表示str1的索引位置;ch表示要插入的数组;0、2表示数组中要插入到str1中的下标索引范围。
运行结果:
CS我abE你是18agetrue
结果分析:
StringBuffer还有insert方法可以在指定的位置插入传入的值,insert也会将boolean类型的变量以字面量值插入到指定的索引位置,该索引位置的值依次向后移动。Insert还可以接受一个字符序列作为参数,从指定的字符序列索引位置取出指定长度的字符序列,插入到StringBuffer对象的指定索引位置,该索引位置及之后的字符依次向后移动。
4、补充:
打印StringBuffer对象的时候并没有使用toString() 方法,这是因为系统的输入输出方法会把传入的参数转换成字符串后输出,这相当于对所有的打印目标都添加了一个toString()方法,因此,此处可以省去toString()方法。
声明:
String toString()
功能:
返回此序列中数据的字符串表示形式
- 点赞
- 收藏
- 关注作者
评论(0)