在这篇博文中,我们将通过实例来学习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