StringBuffer的常用方法

StringBuffer即为增强的String。但是两者又不是同一个类。
String和StringBuffer他们都可以存储和操作字符串,即包含多个字符的字符串数据。
在Java中,String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。
StringBuffer类的构造函数:
public StringBuffer()
创建一个空的StringBuffer类的对象。
public StringBuffer( int length )
创建一个长度为 参数length 的StringBuffer类的对象。
注意:如果参数length小于0,将触发NegativeArraySizeException异常。
public StringBuffer( String str )
用一个已存在的字符串常量来创建StringBuffer类的对象。(即:初始化时直接赋值)
StringBuffer的常用方法如下:
1.StringBuffer append(boolean b/char c/Object object…)
这些方法都是向字符串缓冲区“追加”元素,但是,这个“元素”参数可以是布尔量、字符、字符数组、双精度数、浮点数、整型数、长整型数对象类型的字符串、字符串和StringBuffer类等。如果添加的字符超出了字符串缓冲区的长度,Java将自动进行扩充。
2.int capacity()
返回当前StringBuffer对象(字符串缓冲区)的总空间,而非字符号串的长度。
3.int length()
返回当前StringBuffer对象(字符缓冲区)中,字符串的长度。
注意:此方法与capacity() 不同。
4.char charAt(int index)
在当前StringBuffer对象中取索引号为index的字符。第一个字符的索引为“0”
5.StringBuffer delete(int start, int end)
删除当前StringBuffer对象中以索引号start开始,到end结束的子串。
6.StringBuffer deleteCharAt(int index)
删除当前StringBuffer对象中索引号为index的字符。
7.void ensureCapacity (int minimumCapacity)
重新设置字符号串缓冲区的总空间。如果minimumCapacity大于当前的总空间,则新的空间被设置:一种结果是minimumCapacity;另一种结果是{“老空间”乘2加2}。
8.void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
从当前StringBuffer对象的索引号srcBegin开始,到srcEnd结束的子串,赋值到字符数组dst中,并且从dst的索引号dstBegin开始。
9.int indexOf(String str)
返回当前StringBuffer对象中,第一个满足str子串的位置(索引值)。
10.int indexOf(String str, int fromIndex)
从当前StringBuffer对象的fromIndex开始查找,返回第一个满足str子串的位置。
11.StringBuffer insert(int offset, boolean b/char c/Object object…)
这些方法都是在当前StringBuffer对象中插入一个元素,在索引号offset处插入相应的值。
12.int lastIndexOf(String str)
返回当前StringBuffer对象中,最后一个满足str子串的位置。即:从后向前倒序查找第一个满足条件的对象的索引值。
13.int lastIndexOf(String str, int fromIndex)
从当前StringBuffer对象的fromIndex开始查找,返回最后一个满足str子串的位置。
14.StringBuffer replace(int start, int end, String str)
替换当前StringBuffer对象的字符串。从start开始,到end结束的位置替换成str。
15.StringBuffer reverse()
将字符串翻转。
16.void setCharAt(int index, char ch)
设置索引号index的字符为ch。即:指定位置元素替换
17.void setLength(int newLength)
重新设置字符串缓冲区中字符串的长度,如果newLength小于当前的字符串长度,将截去多余的字符。
18.String substring(int start)
取当前StringBuffer对象中,从start开始到结尾的子串。
19.String substring(int start, int end)
取当前StringBuffer对象中,从start开始到end的子串。
20.String toString()
将当前StringBuffer对象转换成String对象
21.trimToSize()
去掉多余空间。

下面用代码来具体介绍下StringBuffer的常用方法。

package com.study.j233project.d1023;

public class PracticeBuffer {
    public static void main(String[] args) {
        /*声明并初始化一个StringBuffer类的一个空对象bf,此时bf中没有存数据,但是其容量capacity()为16.
         * 即,证明StringBuffer类的对象的初始分配内存为16.
         * 
         */
        StringBuffer bf = new StringBuffer();
        System.out.println(bf.capacity());//输出初始容量(16)
        //声明StringBuffer类的一个对象buffer,并初始化为字符串"stringbuffer"
        StringBuffer buffer = new StringBuffer("stringbuffer");
        System.out.println(buffer.toString());//将StringBuffer类对象buffer转换为String类输出
        buffer.append("isgood");//buffer的.append()方法,在字符串后面追加内容(可以是任何类型数据)。
        System.out.println(buffer.toString());//StringBuffer类转换为String类输出。
        buffer.append(123);
        System.out.println(buffer.toString());//在已有字符串后面追加数字,并输出。
        System.out.println(buffer.insert(6, "PPP"));//索引值为6处插入“PPP”
        System.out.println(buffer.capacity());//显示字符串容量
        System.out.println(buffer.length());//显示元素个数
//      System.out.println(buffer.charAt(2));//显示第三个字符
//      System.out.println(buffer.delete(0, 3));//删除从【0,3)的字符
//      System.out.println(buffer.deleteCharAt(0));//删除指定位置的元素
        System.out.println(buffer.lastIndexOf("orcale"));
        System.out.println(buffer.lastIndexOf("123"));//查找以...为结尾的指定元素的索引值
        //截取一个字符串(0,4)的元素,插入到新建的字符串myChars的索引值为5处。
        char[] myChars = new char[]{'*','*','*','*','*','*','*','*','*','*'};
        buffer.getChars(0, 4, myChars, 5);      
        System.out.println(buffer.toString());
        System.out.println(String.valueOf(myChars));
        System.out.println(buffer.reverse());//反转
        buffer.setCharAt(16, 'v');//指定索引处替换字符       
        buffer.replace(0, 5,"试试");//替换从index1-index2的内容为“引号里的字符串”
        buffer.indexOf("文");//查找指定元素的索引值
        buffer.lastIndexOf("文");//从后向前查找指定元素,若有重复元素,返回遇到的第一个这个元素(最靠后的)的索引值
        System.out.println(buffer);

    }

}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值