Java StringBuilder
类
原文:https://www.studytonight.com/java/stringbuilder-class.php
StringBuilder 与 StringBuffer 相同,除了一个重要的区别,即它不是同步的,这意味着它不是线程安全的。
StringBuilder 也用于创建可变和不同步的字符串对象。StringBuilder 类不能保证同步。StringBuffer 和 StringBuilder 都是可变的,但是如果不需要同步,那么建议使用 StringBuilder 类。
该类位于java.lang
包中,该类的签名如下:
public final class StringBuilder
extends Object
implements Serializable, CharSequence
StringBuilder 构造器
- StringBuilder ():创建一个空的 StringBuilder,并为 16 个字符保留空间。
- StringBuilder (int size):创建一个空字符串,取一个整数参数来设置缓冲区的容量。
- StringBuilder (String str):创建一个 StringBuilder 对象,用 String str 初始化。
- StringBuilder(CharSequence seq):它使用 CharSequence 对象创建 StringBuilder 对象。
创建字符串生成器类
让我们使用 StringBuilder 类来创建字符串对象并检查它的可变性。
public class Demo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("study");
System.out.println(sb);
// modifying object
sb.append("tonight.com");
System.out.println(sb);
}
}
研究 studytonight.com
StringBuffer 和 StringBuilder 类之间的区别
| StringBuffer 类 | StringBuilder 类 |
| StringBuffer 是同步的。 | StringBuilder 未同步。 |
| 由于同步,StringBuffer 操作比 StringBuilder 慢。 | StringBuilder 的运行速度更快。 |
| StringBuffer 是线程安全的 | StringBuilder 不是线程安全的 |
| 与字符串构建器相比,字符串构建器效率较低 | 与 StringBuffer 相比,StringBuilder 效率更高。 |
| 它的存储区域在堆中 | 它的存储区域是栈 |
| 它是可变的 | 它是可变的 |
| 方法是同步的 | 方法不同步 |
| 它是String
类的替代 | 与String
类相比,它更加灵活 |
| 在 Java 1.0 中引入 | 在 Java 1.5 中引入 |
| 它的性能适中 | 它的性能非常高 |
| 它会消耗更多内存 | 它消耗更少的内存 |
StringBuffer 类的示例
public class BufferDemo{
public static void main(String[] args){
StringBufferobj=new StringBuffer("Welcome to ");
obj.append("studytonight.com");
System.out.println(obj);
}
}
欢迎来到 studytonight.com
字符串生成器类的示例
public class BuilderDemo{
public static void main(String[] args){
StringBuilderobj=new StringBuilder("Welcome to ");
obj.append("studytonight.com");
System.out.println(obj);
}
}
欢迎来到 studytonight.com
字符串生成器方法
StringBuilder 类有各种方法来处理字符串对象,如追加、插入、替换、反转等。让我们通过例子来看看它们的用法。
字符串生成器追加字符串示例
在本例中,我们使用 appen()方法将一个新字符串追加到现有的字符串对象中。
public class Demo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("study");
System.out.println(sb);
// appending object
sb.append("tonight.com");
System.out.println(sb);
}
}
研究 studytonight.com
字符串生成器替换方法
它用于替换字符串对象中的子字符串。这个方法有三个参数,第一个是开始索引,第二个是最后一个索引,第三个是要替换的子串。
public class Demo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Java is a programming language");
System.out.println(sb);
// replacing object
sb.replace( 10, 21, "computer");
System.out.println(sb);
}
}
Java 是一种编程语言 Java 是一种计算机语言
字符串生成器反向方法
它用于反转字符串对象。它完全颠倒了字符串从开始到结束的字符。见下面的例子。
public class Demo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Java stringbuilder");
System.out.println(sb);
// reverse object
sb.reverse();
System.out.println(sb);
}
}
Java string builder rediubgnirs avaj