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 构造器

  1. StringBuilder ():创建一个空的 StringBuilder,并为 16 个字符保留空间。
  2. StringBuilder (int size):创建一个空字符串,取一个整数参数来设置缓冲区的容量。
  3. StringBuilder (String str):创建一个 StringBuilder 对象,用 String str 初始化。
  4. 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