java之stringbuf

2023-12-14 00:22:27

java之stringbuf

常见函数

以下是StringBuffer类的一些主要成员函数:

1)构造函数
StringBuffer(): 创建一个空的StringBuffer对象。
StringBuffer(String str): 创建一个包含指定字符串的StringBuffer对象。

2)添加/删除字符
append(String str): 在StringBuffer的末尾添加指定的字符串。
append(char c): 在StringBuffer的末尾添加指定的字符。
delete(int start, int end): 从StringBuffer中删除从start开始到end之前的字符(不包括end)。
deleteCharAt(int index): 从StringBuffer中删除指定索引处的字符。

3)替换字符
replace(int start, int end, String str): 在StringBuffer中从start开始到end之前的部分替换为指定的字符串。

4)获取子字符串
substring(int start, int end): 返回一个新的字符串,它是此StringBuffer的子字符串。

5)获取字符串
toString(): 将此StringBuffer转换为字符串并返回。

6)比较字符串
equals(Object anObject): 将此StringBuffer与指定的对象比较。
equalsIgnoreCase(String anotherString): 将此StringBuffer与另一个字符串比较,忽略大小写。

7)获取长度和容量
length(): 返回此StringBuffer中的字符数。
capacity(): 返回此StringBuffer的容量。

8)反转字符串
reverse(): 反转此StringBuffer的内容。

9)插入字符
insert(int index, char c): 在指定的索引处插入给定的字符。
insert(int index, String str): 在指定的索引处插入给定的字符串。

10)查找字符或字符串
indexOf(String str): 返回指定子字符串在此StringBuffer中第一次出现的索引。
lastIndexOf(String str): 返回指定子字符串在此StringBuffer中最后一次出现的索引。

11)转换为大写或小写
toUpperCase(): 将此StringBuffer中的所有字符转换为大写并返回结果。
toLowerCase(): 将此StringBuffer中的所有字符转换为小写并返回结果。

常见用法

1)添加字符串

buffer.append("Hello"); // 添加 "Hello" 到 StringBuffer

2)添加字符

buffer.append('a'); // 添加字符 'a' 到 StringBuffer

3)删除字符

buffer.delete(2, 5); // 从索引2开始,删除到索引5之前的字符(不包括索引5)

4)替换字符

buffer.replace(3, 6, "world"); // 在索引3开始,到索引6之前,替换为 "world"

5)获取子字符串

String substring = buffer.substring(2, 5); // 从索引2开始,到索引5之前,获取子字符串

6)获取字符串

String string = buffer.toString(); // 将 StringBuffer 转换为 String

7)比较字符串
虽然可以直接使用 == 或 equals() 方法来比较两个字符串,但在某些情况下,这样做可能不是最佳选择。特别是当处理大量数据时,使用 StringBuffer 的 equals() 方法可以提高性能。这是因为 StringBuffer 的 equals() 方法是直接比较底层的字符数组,而不需要创建新的 String 对象。

8)清空字符串
你可以使用 clear() 方法来清空 StringBuffer。这将移除所有的字符。

9)获取长度和容量
你可以使用 length() 和 capacity() 方法来获取 StringBuffer 的长度和容量。长度是 StringBuffer 中字符的数量,而容量是 StringBuffer 在创建时分配的内存大小。注意,在创建后,你可以改变 StringBuffer 的长度,但不能改变其容量。如果你需要更多的空间,你需要创建一个新的 StringBuffer。

文章来源:https://blog.csdn.net/techenliu/article/details/134839160
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。