目录
前言:
努力做到尽善尽美
在尘世中,没有天生完美的人。但你只要每天不断进取,做到德业兼修,最终会成为尽善尽美的人,获得名声显赫的成就。完美的人应该具备品位高雅、头脑清晰、意志坚定、判断精准的特征。因为或多或少的欠缺,有的人无法达到完美。完美的人总是在语言中显露着智慧,在行动中流露着谨慎,人们愿意与贤能通达之人结交,喜欢与他们同行。
1、charAt() 方法
声明:
char charAt(int index)
功能:
返回此序列中指定索引处的
char
值。代码示例:
StringBuffer str2 = new StringBuffer("the stringbuffer search class"); System.out.println(str2.charAt(5)); //输出索引位置5上的字符t
2、indexOf() 方法
代码示例:
StringBuffer str2 = new StringBuffer("the stringbuffer search class"); //初始化 System.out.println(str2.indexOf("search")); //输出字符串search的索引位置 System.out.println(str2.indexOf("s",10)); //从索引位置10开始寻找下一个s所在的位置
结果:
17
17
3、delete() 方法
声明:
delete(int start, int end)
功能:
移除此序列的子字符串中的字符。
补充:
deleteCharAt() 方法:删除指定索引位置上的字符
代码示例:
StringBuffer str2 = new StringBuffer("the stringbuffer search class"); //初始化 System.out.println(str2.delete(0,3)); //删除索引0到索引3位置上的字符 System.out.println(str2.deleteCharAt(5)); //删除索引位置5上的字符
运行结果:
stringbuffer search class
strigbuffer search class
分析:
StringBuffer 中的delete 方法能够很灵活地删除字符串中的数据,配合insert()方法可以快速的实现字符串的修改操作。从结果看,StringBuffer对象的修改是持续的。
4、replace()方法
声明:
replace(int start, int end, String str)
功能:
使用给定
String
中的字符替换此序列的子字符串中的字符。代码示例:
StringBuffer str2 = new StringBuffer("strigbuffer search class"); //初始化 System.out.println(str2.replace(0,2,"who")); //把索引0到索引2的字符用who代替
运行结果:
whotrigbuffer search class
分析:
StringBuffer 的replace方法与String 的replace 方法有所不同。在String中,replace()方法会替换符合条件的所有字符,其参数是两个字符串:一个匹配项和一个匹配后需要将其匹配项替换的字符串。在StringBuffer 中,replace() 则是三个数,分别是起始索引位置、结束索引位置和需要将此索引区间替换的字符串项。在需要替换预定格式的字符串的固定位置序列时非常方便。
5、reverse() 方法
声明:
reverse(string str)
功能:
将字符串str进行反转。
代码示例:
StringBuffer str2 = new StringBuffer("whotrigbuffer search class"); //初始化 System.out.println(str2.reverse()); //将str2中的数据进行翻转
运行结果:
ssalc hcraes reffubgirtohw
6、setCharAt() 方法
声明:
void setCharAt(int index, char ch)
功能:
将给定索引处的字符设置为
ch
代码示例:
StringBuffer str2 = new StringBuffer("ssalc hcraes reffubgirtohw"); str2.setCharAt(0,'A'); System.out.println(str2); //将0索引位置的字符替换为A
运行结果:
Asalc hcraes reffubgirtohw
注意:这种写法不对!
System.out.println(str2.setCharAt(0,'A'));
结果:所以只能分开写,不能合上。
7、小结:
在StringBuffer的输出中不难看出,它对于字符串的操作也是“含头不含尾”的处理方式。在替换索引位置0至索引位置2 的操作中,替换操作只替换了索引位置0和索引位置1。