java- java.lang.StringBuilder类、方法实例与教程

178 阅读2分钟

在这篇博文中,我们将通过实例来学习StringBuilder类及其方法教程。

StringBuilder类是用来以一种可改变的方式操作字符串的。它取代了String和StringBuffer的位置。
在java中StringBuilder类的一些特点。该类被定义在java.lang包中。
语法:

public final class StringBuilder  
    extends AbstractStringBuilder  
    implements java.io.Serializable, Comparable, CharSequence  

StringBuilder的导入说明以及与其他String类的区别

  • StringBuilder和StringBuffer是一个可变的类,String是不可变的类,在单线程应用中,StringBuilder比StringBuffer快,因为它消耗的内存少,速度快。
  • StringBuilder的对象不是线程安全的多线程应用程序,StringBuilder在一组字符上进行插入和追加操作。
  • 当你在循环中操作字符串时使用这个类

Java StringBuilder类的例子

以下是StringBuilder类及其方法的例子列表

创建StringBuilder对象并向其添加字符串内容

这个例子解释了如何在java中创建一个StringBuilder类。

  • 如何使用StringBuilder()构造函数创建一个空的字符串生成器类
  • 使用StringBuilder(int capacity)构造函数创建一个具有初始容量的StringBuilder类
  • 使用带有String或CharSequence参数的StringBuilder构造函数创建一个具有初始化字符串内容的StringBuilder类的实例
public class StringBuilderDemo {  
  
 public static void main(String[] args) {  
  // Creating empty StringBuilder instance  
  
  StringBuilder sb = new StringBuilder();  
  // Creating StringBuilder instance with initial capactiy  
  StringBuilder sb1 = new StringBuilder(2);  
  // Creating StringBuilder instance with initial string content  
  StringBuilder sb2 = new StringBuilder("String test");  
  // Creating StringBuilder instance with CharSequence content  
  CharSequence cs = "testcharsequence";  
  StringBuilder sb3 = new StringBuilder(cs);  
  
 }  
  
}  

向StringBuilder添加字符串内容

我们有很多方法可以向这个类添加内容。
下面的例子解释了以下内容:

  • 使用append()方法将字符串内容连接到StringBuilder。
  • 使用insert()方法向StringBuilder添加带有索引的字符串内容。

这个类提供了重载的append()和insert()方法,可以接受任何类型的数据。
append()方法将字符串添加到现有的字符串内容中。
insert()方法在指定的索引位置插入字符串内容,起始索引位置为0

public class StringBuilderDemo {  
  
 public static void main(String[] args) {  
  StringBuilder sb = new StringBuilder("Test  ");  
  sb.append("Kiran");  
  sb.append(" example");  
  System.out.println(sb);  
  
  StringBuilder sb1 = new StringBuilder("Welcome  ");  
  sb1.insert(0,"Kiran");  
  System.out.println(sb1);  
 }  
  
}  

并且输出为

Test  Kiran example  
KiranWelcome 

其他有用的StringBuilder方法的例子

下面的例子解释了:

  • 如何使用replace()方法替换StringBuilder中的字符串内容
  • 如何使用delete()方法从StringBuilder中删除部分字符的字符串
  • 如何使用reverse()方法在StringBuilder中逆转字符串内容
  • 容量和sureCapacity()方法
public class StringBuilderDemo {  
  
 public static void main(String[] args) {  
    
  // relace method example  
  StringBuilder sb = new StringBuilder("Welcome test example  ");  
  sb.replace(4,11,"kiran");  
  System.out.println(sb);  
    
  //delete method example  
  StringBuilder sb1 = new StringBuilder("This is demo application ");  
  sb1.delete(5,11);  
  System.out.println(sb1);  
    
  //reverse method example  
  StringBuilder sb2 = new StringBuilder("cloudhadoop");  
  sb2.reverse();  
  System.out.println(sb2);  
    
  //capacity and ensureCapacity method example  
  StringBuilder sbc = new StringBuilder();  
  System.out.println(sbc.capacity()); // Default value is 16  
  sbc.append("cloudhadoop website");  
  sbc.ensureCapacity(1);//(current capactiy*2)+2   
  System.out.println(sbc.capacity());   
  
 }  
  
}  

输出是:

  
Welckirant example    
This o application   
poodahduolc  
16  
34