2021-06-16

这篇博客详细介绍了Java中String、StringBuffer和StringBuilder类的构造器及常用方法,包括它们的可变性、线程安全性和性能对比。String是不可变的,而StringBuffer线程安全,StringBuilder非线程安全但更高效。在字符串连接操作中,StringBuilder的性能优于StringBuffer和使用+操作符的String。
摘要由CSDN通过智能技术生成

Java的String、StringBuffer和StringBuilder
构造器 说明
StringBuffer() 构造一个字符串缓冲区,其中没有字符,初始容量为16个字符。
在这里插入图片描述

StringBuffer(CharSequence seq) 构造一个包含与指定字符相同的字符串缓冲区。
在这里插入图片描述

StringBuffer(int capacity) 构造一个字符串缓冲区,其中没有字符,但是包含指定的初始容量capacity。
在这里插入图片描述

StringBuffer(String str) 构造一个指定字符串内容的字符串缓冲区。
在这里插入图片描述

返回类型 方法 说明
StringBuffer append(boolean b) 将boolean参数的字符串表示形式追加到序列中。
在这里插入图片描述

StringBuffer append(char c) 将char参数的字符串表示形式追加到此序列。
StringBuffer append(char[] str) 将char数组参数的字符串表示形式追加到此序列。
StringBuffer append(char[] str, int offset, int len) 将char数组参数的子数组的字符串表示形式追加到此序列。
StringBuffer append(CharSequence s) 将指定的内容附加CharSequence到此序列。
StringBuffer append(CharSequence s, int start, int end) 将指定的子CharSequence序列追加到此序列。 StringBuffer append(double d) 将double 参数的字符串表示形式追加到此序列。
StringBuffer append(float f) 将float 参数的字符串表示形式追加到此序列。
StringBuffer append(int i) 将int 参数的字符串表示形式追加到此序列。
StringBuffer append(long lng) 将long 参数的字符串表示形式追加到此序列。
StringBuffer append(Object obj) 附加Object参数的字符串表示形式。
StringBuffer append(String str) 将指定的字符串追加到此字符序列。
StringBuffer append(StringBuffer sb) 将指定的内容附StringBuf到列。
StringBuffer appendCodePoint(int codePoint) 将codePoint参数的字符串表示形式追加到此序列。
Int capacity() 返回当前容量。
在这里插入图片描述

Char charAt(int index) 返回char指定索引处的此序列中的值。
在这里插入图片描述

int codePointAt(int index) 返回指定索引处的字符(Unicode代码 点)。
在这里插入图片描述

Int codePointBefore(int index) 返回指定索引之前的字符(Unicode代码 点)。
在这里插入图片描述

int codePointCount(int beginIndex, int endIndex) 返回此序列的指定文本范围内的Unicode 代码点数。 StringBuffer delete(int start, int end) 删除此序列的子字符串中的字符。
在这里插入图片描述

StringBuffer deleteCharAt(int index) char 按此顺序删除指定位置
在这里插入图片描述

void ensure pacity(int minimumCapacity)
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 字符从此序列复制到目标字符数组dst。
int indexOf(String str) 返回指定子字符串第一次出现的字符串中 的索引。
int indexOf(String str, int fromIndex) 从指定的索引处开始,返回指定子字符串 第一次出现的字符串中的索引。
StringBuffer insert(int offset, boolean b) 将boolea参数的字符串表示形式插入此序列中。
在这里插入图片描述

StringBuffer insert(int offset, char c) 将char参数的字符串表示形式插入此序列中。
StringBuffer insert(int offset, char[] str) 将char数组参数的字符串表示形式插入此序列中。
StringBuffer insert(int index, char[] str, int offset, int len) 将str数组参数的子数组的字符串表示形式插入到此序列中。
StringBuffer insert(int dstOffset, CharSequence s) 将指定的内容CharSequence插入此序列中。 StringBuffer insert(int dstOffset, CharSequence s, int start, int end) 将指定的子CharSequence序列插入此序列中。
StringBuffer insert(int offset, double d) 将double参数的字符串表示形式插入此 序列中。
StringBuffer insert(int offset, float f) 将float参数的字符串表示形式插入此序 列中。
StringBuffer insert(int offset, int i) 将第二个int 参数的字符串表示形式插入 到此序列中。
StringBuffer insert(int offset, long l) 将long参数的字符串表示形式插入此序 列中。
StringBuffer insert(int offset, Object obj) 将Object 参数的字符串表示形式插入此字符序列。 StringBuffer insert(int offset, String str) 将字符串插入此字符序列。
Int lastIndexOf(String str) 返回指定子字符串最后一次出现在字符串 中的索引。
int lastIndexOf(String str, int fromIndex) 返回指定子字符串最后一次出现在字符串 中的索引。
Int length() 返回该字符串的长度(字符数)
int offsetByCodePoints(int index, int codePointOffset) 返回此序列中与代码点给定index的偏移量的索引codePointOffset。
StringBuffer replace(int start, int end, String str) 用指定的字符替换此序列的子字符串中的字符String。 StringBuffer reverse() 返回此字符序列的反向替换。
在这里插入图片描述

void setCharAt(int index, char ch) 指定索引处的字符设置为ch。
void setLength(int newLength) 设置字符序列的长度。
在这里插入图片描述
CharSequence subSequence(int start, int end) 返回一个新的字符序列,它是该序列的子序列。
String substring(int start) 返回一个新的String,包含此字符序列中 当前包含的字符的子序列。
String substring(int start, int end) 返回一个新的String,包含此序列中当前 包含的字符的子序列。
String toString() 返回表示此序列中数据的字符串。
在这里插入图片描述

String 类对象不可变,一旦修改 String的值就是隐形的重建了一个新的对象,释放了原 String对象 StringBuffer和StringBuilder类是可以通过append()、insert()、reverse()…等方法来修改值。
创建 的对象是可变
StringBuffer:线程安全的; StringBuilder:线程非安全的
字符串连接 String 的 + 比 StringBuffer(StringBuilder) 的 Append() 性能差了很多
三者在执行速度方面的比较:StringBuilder > StringBuffer > String

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值