个性化阅读
专注于IT技术分析

Java StringBuilder类

本文概述

Java StringBuilder类用于创建可变(可修改)字符串。 Java StringBuilder类与StringBuffer类相同, 但它是不同步的。从JDK 1.5开始可用。

StringBuilder类的重要构造函数

建设者 描述
StringBuilder() 创建一个初始容量为16的空字符串Builder。
StringBuilder(String str) 用指定的字符串创建一个字符串生成器。
StringBuilder(int length) 创建一个具有指定容量作为长度的空字符串Builder。

StringBuilder类的重要方法

方法 描述
public StringBuilder append(String s) 用于在指定的字符串后附加此字符串。 append()方法是重载的, 如append(char), append(boolean), append(int), append(float), append(double)等。
public StringBuilder insert(int offset, String s) 用于在该字符串的指定位置插入指定字符串。 insert()方法是重载的, 如insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double)等。
public StringBuilder replace(int startIndex, int endIndex, String str) 用于替换指定的startIndex和endIndex中的字符串。
public StringBuilder delete(int startIndex, int endIndex) 用于从指定的startIndex和endIndex删除字符串。
public StringBuilder reverse() 用于反转字符串。
public int capacity() 用于返回当前容量。
public void ensureCapacity(int minimumCapacity) 用于确保容量至少等于给定的最小值。
public char charAt(int index) 用于返回指定位置的字符。
public int length() 用于返回字符串的长度, 即字符总数。
public String substring(int beginIndex) 用于从指定的beginIndex返回子字符串。
public String substring(int beginIndex, int endIndex) 用于从指定的beginIndex和endIndex返回子字符串。

Java StringBuilder示例

让我们看一下StringBuilder类的不同方法的示例。

1)StringBuilder append()方法

StringBuilder append()方法将给定参数与此字符串连接在一起。

class StringBuilderExample{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello ");
sb.append("Java");//now original string is changed
System.out.println(sb);//prints Hello Java
}
}

2)StringBuilder insert()方法

StringBuilder insert()方法将给定字符串与该字符串插入给定位置。

class StringBuilderExample2{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello ");
sb.insert(1, "Java");//now original string is changed
System.out.println(sb);//prints HJavaello
}
}

3)StringBuilder replace()方法

StringBuilder replace()方法从指定的beginIndex和endIndex替换给定的字符串。

class StringBuilderExample3{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello");
sb.replace(1, 3, "Java");
System.out.println(sb);//prints HJavalo
}
}

4)StringBuilder delete()方法

StringBuilder类的delete()方法将字符串从指定的beginIndex删除到endIndex。

class StringBuilderExample4{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello");
sb.delete(1, 3);
System.out.println(sb);//prints Hlo
}
}

5)StringBuilder reverse()方法

StringBuilder类的reverse()方法反转当前字符串。

class StringBuilderExample5{
public static void main(String args[]){
StringBuilder sb=new StringBuilder("Hello");
sb.reverse();
System.out.println(sb);//prints olleH
}
}

6)StringBuilder Capacity()方法

StringBuilder类的Capacity()方法返回Builder的当前容量。构建器的默认容量为16。如果字符数从其当前容量增加, 它将增加(oldcapacity * 2)+2。例如, 如果你当前的容量为16, 则将为(16 * 2)+ 2 = 34。

class StringBuilderExample6{
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
System.out.println(sb.capacity());//default 16
sb.append("Hello");
System.out.println(sb.capacity());//now 16
sb.append("java is my favourite language");
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
}
}

7)StringBuilder sureCapacity()方法

StringBuilder类的ensureCapacity()方法可确保给定容量为当前容量的最小值。如果大于当前容量, 则将容量增加(oldcapacity * 2)+2。例如, 如果你当前的容量为16, 则将为(16 * 2)+ 2 = 34。

class StringBuilderExample7{
public static void main(String args[]){
StringBuilder sb=new StringBuilder();
System.out.println(sb.capacity());//default 16
sb.append("Hello");
System.out.println(sb.capacity());//now 16
sb.append("java is my favourite language");
System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2
sb.ensureCapacity(10);//now no change
System.out.println(sb.capacity());//now 34
sb.ensureCapacity(50);//now (34*2)+2
System.out.println(sb.capacity());//now 70
}
}
赞(0)
未经允许不得转载:srcmini » Java StringBuilder类

评论 抢沙发

评论前必须登录!