Java StringBuffer和StringBuilder类

当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类。

和String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象。

StringBuilder类在Java 5中被提出它和StringBuffer之间的最大不同在于StringBuilder的方法不是线程安全的(不能同步访问)。

由于StringBuilder相较于StringBuffer有速度优势,所以多数情况下建议使用StringBuilder类。然而在应用程序要求线程安全的情况下,则必须使用StringBuffer类。

实例

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

以上实例编译运行结果如下:

test String Buffer

StringBuffer 方法

以下是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)返回最后一次出现的指定子字符串在此字符串中的索引。

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()返回此序列中数据的字符串表示形式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Create Sun

基础拾遗------委托详解

前言:   C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(D...

32680
来自专栏CDA数据分析师

一文读懂如何用 Python 实现6种排序算法

总结了一下常见集中排序的算法 ? 归并排序 归并排序也称合并排序,是分治法的典型应用。分治思想是将每个问题分解成个个小问题,将每个小问题解决,然后合并。 具体...

22490
来自专栏Java与Android技术栈

Scala学习笔记(六)

偏函数(Partial Function),是一个数学概念它不是"函数"的一种, 它跟函数是平行的概念。 Scala中的Partia Function是一个T...

8820
来自专栏待你如初见

Day11

for(元素的数据类型 变量名 : 数组名或者Collection集合对象名) {

11460
来自专栏开发与安全

从零开始学C++之运算符重载(二):++运算符重载、!运算符重载、赋值运算符重载

一、++运算符重载 前置++运算符重载 成员函数的方式重载,原型为: 函数类型 & operator++(); 友元函数的方式重载,原型为: friend...

24000
来自专栏Python爱好者

Java基础笔记13

14650
来自专栏前端知识分享

第199天:js---扩充内置对象功能总结

9330
来自专栏机器学习入门

POJ 刷题系列:3299. Humidex

POJ 刷题系列:3299. Humidex 传送门:POJ 3299. Humidex 题意: 给定T, D, H中的任意两个数,求另外一个。 思路: ...

239100
来自专栏武培轩的专栏

Leetcode#709. To Lower Case(转换成小写字母)

实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串。

12630
来自专栏郭耀华‘s Blog

Java Arrays工具类的使用

Arrays 类 java.util.Arrays类能方便地操作数组,它提供的所有方法都是静态的。具有以下功能: 给数组赋值:通过fill方法。 对数组...

34380

扫码关注云+社区

领取腾讯云代金券