当前位置:首页 科普知识 StringBuffer

StringBuffer

发布时间:2023-09-14 02:17:33

StringBuffer,是可以存储和操作字符串,即包含多个字符的字符串数据。

StringBuffer介绍

StringBuffer,是可以存储和操作字符串,即包含多个字符的字符串数据。

String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。

StringBuffer介绍

StringBuffer是使用缓冲区的,本身也是操作字符串的,但与String类不同,String类中的内容一旦声明之后不可改变,改变的只是其内存地址的指向,而StringBuffer中的内容是可以改变的。

对于StringBuffer而言,本身是一个具体的操作类,所以不能像String那样采用直接赋值的方式进行对象实例化,必须通过构造方法完成。

StringBuffer连接字符操作

当一个字符串的内容需要被经常改变时就要使用StringBuffer。

在StringBuffer中使用append()方法,完成字符串的连接操作。

StringBufferStringBuffer方法

以下是 StringBuffer 类支持的主要方法:

序号

方法描述

1

public StringBuffer append(String s)

将指定的字符串追加到此字符序列。

2

public StringBuffer reverse()

将此字符序列用其反转形式取代。

3

public delete(int start, int end)

移除此序列的子字符串中的字符。

4

public insert(int offset, int i)

将int参数的字符串表示形式插入此序列中。

5

replace(int start, int end, String str)

使用给定String中的字符替换此序列的子字符串中的字符。

下面的列表里的方法和 String 类的方法类似:

序号

方法描述

1

int capacity()

返回当前容量。

2

char charAt(int index)

返回此序列中指定索引处的char值。

3

void ensureCapacity(int minimumCapacity)

确保容量至少等于指定的最小值。

4

void getChars(int srcBegin, int srcEnd, char dst, int dstBegin)

将字符从此序列复制到目标字符数组dst。

5

int indexOf(String str)

返回第一次出现的指定子字符串在该字符串中的索引。

6

int indexOf(String str, int fromIndex)

从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。

7

int lastIndexOf(String str)

返回最右边出现的指定子字符串在此字符串中的索引。

8

int lastIndexOf(String str, int fromIndex)

返回 String 对象中子字符串最后出现的位置。

9

int length()

返回长度(字符数)。

10

void setCharAt(int index, char ch)

将给定索引处的字符设置为ch。

11

void setLength(int newLength)

设置字符序列的长度。

12

CharSequence subSequence(int start, int end)

返回一个新的字符序列,该字符序列是此序列的子序列。

13

String substring(int start)

返回一个新的String,它包含此字符序列当前所包含的字符子序列。

14

String substring(int start, int end)

返回一个新的String,它包含此序列当前所包含的字符子序列。

15

String toString()

返回此序列中数据的字符串表示形式。

StringBufferStringBuffer对象的初始化

StringBuffer对象的初始化不像String类的初始化一样,Java提供的有特殊的语法,而通常情况下一般使用构造方法进行初始化。

例如:

StringBuffer s = new StringBuffer();

这样初始化出的StringBuffer对象是一个空的对象,就是我犯的错误。

如果需要创建带有内容的StringBuffer对象,则可以使用:

StringBuffer s = new StringBuffer(“abc”);

这样初始化出的StringBuffer对象的内容就是字符串”abc”。

需要注意的是,StringBuffer和String属于不同的类型,也不能直接进行强制类型转换。

StringBuffer字符串连接操作

package 字符串处理;public class StringBufferDemo01{    public static void main(String args){        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象         buf.append("Hello ") ;                    // 向StringBuffer中添加内容        buf.append("World").append("!!!") ;        // 可以连续调用append()方法        buf.append("n") ;                        // 添加一个转义字符        buf.append("数字 = ").append(1).append("n") ;    // 添加数字        buf.append("字符 = ").append('C').append("n");     // 添加字符        buf.append("布尔 = ").append(true) ;    // 添加布尔值        System.out.println(buf) ;            // 直接输出对象,调用toString()    }};

打印结果:

Hello World!!!数字 = 1字符 = C布尔 = true

StringBuffer字符串添加内容

public class StringBufferDemo03{    public static void main(String args){        StringBuffer buf = new StringBuffer() ;    // 声明StringBuffer对象         buf.append("World!!") ;        // 添加内容        buf.insert(0,"Hello ") ;        // 在第一个内容之前添加内容        System.out.println(buf) ;        buf.insert(buf.length(),"偶my耶~") ;    // 在最后添加内容        System.out.println(buf) ;    }};

打印内容

Hello World!!Hello World!!偶my耶~

温馨提示:
本文【StringBuffer】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6