当前位置: 首页 > 文档资料 > 学习 Java 编程 >

String Buffer & String Builder

优质
小牛编辑
127浏览
2023-12-01

当需要对字符串进行大量修改时,使用StringBufferStringBuilder类。

与字符串不同,StringBuffer和String构建器类型的对象可以反复修改,而不会留下大量新的未使用对象。

StringBuilder类是从Java 5开始引入的,StringBuffer和StringBuilder之间的主要区别在于StringBuilders方法不是线程安全的(不同步)。

建议尽可能使用StringBuilder因为它比StringBuffer更快。 但是,如果需要线程安全性,则最好的选项是StringBuffer对象。

例子 (Example)

public class Test {
   public static void main(String args[]) {
      StringBuffer sBuffer = new StringBuffer("test");
      sBuffer.append(" String Buffer");
      System.out.println(sBuffer);  
   }
}

这将产生以下结果 -

输出 (Output)

test String Buffer

StringBuffer方法

以下是StringBuffer类支持的重要方法列表 -

Sr.No.方法和描述
1public StringBuffer append(String s)

更新调用该方法的对象的值。 该方法采用boolean,char,int,long,Strings等。

2public StringBuffer reverse()

该方法反转调用该方法的StringBuffer对象的值。

3public delete(int start,int end)

删除从起始索引开始直到结束索引的字符串。

4public insert(int offset,int i)

此方法在偏移量提到的位置插入字符串s

5replace(int start,int end,String str)

此方法将此StringBuffer的子字符串中的字符替换为指定String中的字符。

以下是与String类非常相似的其他方法(set方法除外)的列表 -

Sr.No.方法和描述
1

int capacity()

返回String缓冲区的当前容量。

2

char charAt(int index)

返回当前由字符串缓冲区表示的序列的指定字符,如index参数所示。

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)

返回指定子字符串最后一次出现的字符串中的索引。

9

int length()

返回此字符串缓冲区的长度(字符数)。

10

void setCharAt(int index, char ch)

此字符串缓冲区的指定索引处的字符设置为ch。

11

void setLength(int newLength)

设置此String缓冲区的长度。

12

CharSequence subSequence(int start, int end)

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

13

String substring(int start)

返回一个新String,其中包含此StringBuffer中当前包含的字符的子序列。 子字符串从指定的索引开始,并延伸到StringBuffer的末尾。

14

String substring(int start, int end)

返回一个新String,其中包含此StringBuffer中当前包含的字符的子序列。

15

String toString()

转换为表示此字符串缓冲区中数据的字符串。