Java基础:第二十二讲 SringBuffer的使用

来源:互联网 发布:笔记本的mac地址在哪里 编辑:程序博客网 时间:2024/04/29 07:19
StringBuffer也是字符串,与String不同的是StringBuffer对象创建完之后可以修改内容。有如下构造函数:
n         public StringBuffer(int);
n         public StringBuffer(String);
n         public StringBuffer();
第一种构造函数是创建指定大小的字符串,第二个构造函数是以给定的字符串创建StringBuffer对象,第三个构造函数是默认的构造函数,生成一个空的字符串。下卖弄的代码分别生成了3StringBuffer对象:
              StringBuffer sb1 = new StringBuffer(50);
              StringBuffer sb2 = new StringBuffer("字符串初始值");
              StringBuffer sb3 = new StringBuffer();
StringBuffer对象创建完之后,大小会随着内容的变化而变化。
StringBuffer的常用方法及其用法如下。
在字符串后面追加内容
方法定义:
l         public StringBuffer append(char c);
l         public StringBuffer append(boolean b);
l         public StringBuffer append(char[] str);
l         public StringBuffer append(CharSequence str);
l         public StringBuffer append(float f);
l         public StringBuffer append(double d);
l         public StringBuffer append(int i);
l         public StringBuffer append(long l);
l         public StringBuffer append(Object o);
l         public StringBuffer append(String str);
l         public StringBuffer append(StringBuffer sb);
l         public StringBuffer append(char[] str,int offset,int len);
l         public StringBuffer append(CharSequence str.int start,int end);
方法描述:在字符串后面追加信息。从上面的方法可以看出在StringBuffer后面可以添加任何对象。
例如:
              sb1.append('A');
              sb1.append(10);
              sb1.append("追加的字符串");
              sb1.append(new char[]{'1','2','3'});
结果:
A10追加的字符串123
在字符串的某个特定位置添加内容
append方法类似,可以添加各种对象和基本数据库,与append方法不同的是insert方法需要指出添加的位置,所以多了1个参数。
方法定义:
l         public StringBuffer insert(int offset,char c);
l         public StringBuffer insert(int offset,boolean b);
l         public StringBuffer insert(int offset,char[] str);
l         public StringBuffer insert(int offset,CharSequence str);
l         public StringBuffer insert(int offset,float f);
l         public StringBuffer insert(int offset,double d);
l         public StringBuffer insert(int offset,int i);
l         public StringBuffer insert(int offset,long l);
l         public StringBuffer insert(int offset,Object o);
l         public StringBuffer insert(int offset,String str);
l         public StringBuffer insert(int offset,char[] str,int offset,int len);
l         public StringBuffer insert(int offset,CharSequence str.int start,int end);
方法描述:在字符串的某个位置添加信息。
例如(在上面代码的基础上):
                     sb1.insert(4,'x');
                     sb1.insert(5,22);
结果
A10x22加的字符串123
StringBuffer的长度和容量
length方法用于获取字符串的长度capacity方法用于获取容量两个不相等。
方法定义:
l         public int length();
l         public int capacity();
例如:
        System.out.println(sb1.length());
        System.out.println(sb1.capacity());
结果:
15
50
删除某个字符
方法定义:
public StringBuffer deleteCharAt(int index);
方法描述:删除指定位置的字符,索引是从零开始。
例如:
    sb1.deleteCharAt(3);
结果
    A10x22加的字符串123
删除之前的内容为A10x22加的字符串123
删除某个子串
方法定义:
public StringBuffer delete(int start,int end);
方法描述:delete方法用于删除字符串中的部分字符,第一个参数是删除的第一个字符,第二个参数是删除结束的地方,需要注意3点:字符串的第一个字符的索引"0",第一个参数指定的字符会删除,但是第二个参数指定的字符不会删除.
例如:
sb1.delete(5,8);
结果:
A10x2字符串123
    删除前字符串的内容:A10x22加的字符串123
获取字符串中的字符
方法定义
    public char charAt(int)
方法描述charAt(int)方法用来获取指定位置的字符。
例如:
    System.out.println(sb1.charAt(5));
结果:
    2
获取字符串中的子串
方法定义:
l         public String substring(int start);start开始到结束的子串。
l         public String substring(int start,int end);start开始到end结束的子串。
l         public CharSequence subSquence(int start,int end);start开始到end结束的子串。
方法描述:用于获取字符串的子串,第一个方法有一个参数,用于指定开始位置,获取的子串是从该位置开始到字符串的结束,第二个方法有两个参数,第一个指定开始位置,第二个指定结束位置,与delete方法中的参数用法基本相同象,包含第一个,不包含第二个。第三个方法含义相同。
例如:
    String sub1 = sb1.substring(3,5);
       String sub2 = sb1.substring(4);
转换结果:
    x
x22加的字符串123
转换成字符串
方法定义:
public Strnig toString();
方法描述:StringBuffer的内容转换成String对象。
例如:
    String str1 = sb1.toString();
转换结果:
    str1的内容为:A10x22加的字符串123
原创粉丝点击