1.修改字符串
在 Java 中,字符串是不可变对象。这样做是为了使 String 类高度优化并允许它在任何地方使用。例如,只推荐使用不可变类型作为 HashMap 集合中的键。
然而,当程序员发现类是String
可变的更方便时,经常会出现这样的情况。他们想要一个不会在每次调用其中一个方法时都创建新子字符串的类。
好吧,假设我们有一个非常大的字符串,我们需要经常在它的末尾添加一些东西。在这种情况下,即使是字符集合 ( ArrayList<Character>
) 也比不断重新创建和连接 String 对象更有效。
这就是为什么将可以更改的类字符串类型添加到 Java 语言中的原因。它被称为StringBuilder
。
创建对象
StringBuilder
要基于现有字符串创建对象,您需要执行如下语句:
StringBuilder name = new StringBuilder(string);
要创建一个空的可变字符串,您需要使用如下语句:
StringBuilder name = new StringBuilder();
方法列表
该StringBuilder
课程有两打有用的方法。以下是最重要的:
方法 | 描述 |
---|---|
|
将传递的对象转换为字符串并将其附加到当前字符串 |
|
将传递的对象转换为字符串并插入到当前字符串中 |
|
用传递的字符串替换 start..end 间隔指定的字符串部分 |
|
从字符串中删除具有指定索引的字符 |
|
从字符串中删除指定间隔内的字符 |
|
在当前字符串中搜索子字符串 |
|
在当前字符串中搜索子字符串,从末尾开始 |
|
返回字符串中传递的索引处的字符 |
|
返回指定区间定义的子字符串 |
|
反转当前字符串。 |
|
将指定索引处的字符更改为传递的字符 |
|
返回字符串的字符长度 |
以下是每种方法的简要说明
二、方法说明:
附加到字符串
要向可变字符串 ( ) 添加内容StringBuilder
,请使用该append()
方法。例子:
代码 | 描述 |
---|---|
|
|
转换为标准字符串
要将StringBuilder
对象转换为 String 对象,只需调用其toString()
方法即可。例子
代码 | 输出 |
---|---|
|
|
如何删除角色?
要删除可变字符串中的字符,您需要使用 方法deleteCharAt()
。例子:
代码 | 输出 |
---|---|
|
|
如何用另一个字符串替换字符串的一部分?
为此有replace(int begin, int end, String str)
方法。例子:
代码 | 输出 |
---|---|
|
|
3. 使用字符串的有用示例
如何反转字符串?
有一种特殊的方法可以做到这一点—— reverse()
; 例子:
代码 | 输出 |
---|---|
|
|
StringBuffer
班级
还有另一个类——StringBuffer,它是类的类似物StringBuilder
,但它的方法用修饰符标记synchronized
。这意味着StringBuffer
可以从多个线程同时访问该对象。
但它比 . 慢得多StringBuilder
。当您开始积极探索Java 多线程任务中的多线程时,您可能需要这个类。
GO TO FULL VERSION