JavaSE_17th_常用类——StringBuffer类常用方法

来源:互联网 发布:天刀少女脸型数据 编辑:程序博客网 时间:2024/05/29 09:45

一、StringBuffer类
1)java.lang.StringBuffer代表可变的字符序列。
2)StringBuffer是String类的增强版,可直接对字符串进行更改而不重新分配新的内存空间。
3)StringBuffer类常见构造方法:
见6)

4)StringBuffer常用方法(1)
重载方法public StringBuffer append(...)可以为该StringBuffer对象添加字符序列,返回添加后的该StringBuffer对象引用。
见6)

5)StringBuffer常用方法(2)
a、重载方法public StringBuffer insert(...)可以为该StringBuffer对象在指定位置插入字符序列,返回修改后的该StringBuffer对象引用。
b、方法public StringBuffer delete(int start, int end)可以删除从start开始到end-1为止的一段字符序列,返回修改后的该StringBuffer对象引用。
c、和String类含义类似的方法:indexOf()、substring()、length();
d、方法public StringBuffer reverse()用于将字符序列逆序,返回修改后的该
StringBuffer对象引用。

6)StringBuffer类举例(1)

package com.hpe.stringbuffer;public class TestStringBuffer1 {public static void main(String[] args) {String s = "Microsoft";char[] a = { 'a', 'b', 'c' };//使用StringBuffer的构造方法造出String对象的StringBuffer副本StringBuffer sb1 = new StringBuffer(s);//append方法返回StringBuffer对象,可以如下连续添加字符或字符串甚至是数字等sb1.append('/').append("IBM").append('/').append("Sun");System.out.println(sb1);StringBuffer sb2 = new StringBuffer("数字");for (int i = 0; i < 10; i++) {sb2.append(i);}System.out.println(sb2);//将sb2的第sb2.length()-3到sb2.length()-1这3个//字符截掉,并且在第0个位置插入"abc"sb2.delete(sb2.length()-3, sb2.length()).insert(0, a);System.out.println(sb2);//将sb2逆序System.out.println(sb2.reverse());}}
运行结果:
Microsoft/IBM/Sun数字0123456789abc数字01234566543210字数cba
总结:见代码注释

7)StringBuffer类举例(2)
StringBuffer类和String类之间equals的关系
package com.hpe.stringbuffer;public class TestStringBuffer2 {public static void main(String[] args) {String str1 = "abc";String str2 = new String("abc");//虽然str1指向常量池,str2指向堆,但String类比较的//是两个String对象的字符序列是否相同,所以equalsSystem.out.println(str1.equals(str2));//trueStringBuffer sb1 = new StringBuffer(str1);//虽然二者字符序列一样,但是类型不同,肯定不equalsSystem.out.println(str1.equals(sb1));//false//sb1返回具有相同字符序列的String对象//不管是哪个类型返回的,只要返回的是String类型、//字符序列相同就equalsString str3 = sb1.toString();System.out.println(str1.equals(str3));//trueStringBuffer sb2 = new StringBuffer("abc");StringBuffer sb3 = new StringBuffer("abc");System.out.println(sb2.equals(sb3));//false}}
运行结果注释在打印语句之后。





0 0
原创粉丝点击