Java 中的 StringBuilder 类,示例
原文:https://www . geeksforgeeks . org/stringbuilder-class-in-Java-with-examples/
Java 中的字符串生成器代表一个可变的字符序列。因为 Java 中的字符串类创建了一个不可变的字符序列,所以 StringBuilder 类提供了一个字符串类的替代,因为它创建了一个可变的字符序列。StringBuilder 的功能与 StringBuffer 类非常相似,因为两者都提供了一种字符串类的替代方法,即创建一个可变的字符序列。然而,基于同步,StringBuilder 类不同于 StringBuffer 类。StringBuilder 类不能保证同步,而 StringBuffer 类可以。因此,这个类被设计为在 StringBuffer 被一个单独的线程使用的地方作为 StringBuffer 的插入式替换(通常情况下)。在可能的情况下,建议优先使用这个类而不是 StringBuffer,因为在大多数实现中它会更快。StringBuilder 的实例对于多线程使用来说并不安全。如果需要这样的同步,那么建议使用 StringBuffer。 等级等级:
java.lang.Object
↳ java.lang
↳ Class StringBuilder
语法:
public final class StringBuilder
extends Object
implements Serializable, CharSequence
Java StringBuilder 中的构造函数:
-
StringBuilder(): 构造一个字符串生成器,其中没有字符,初始容量为 16 个字符。
-
StringBuilder(int capacity):构造一个字符串生成器,其中没有字符,初始容量由 capacity 参数指定。
-
字符串构建器(字符序列序列):构建包含与指定字符序列相同字符的字符串构建器。
-
字符串构建器(String str): 构建一个初始化为指定字符串内容的字符串构建器。
下面是一个用 Java 说明 StringBuilder 的示例程序:
Java 语言(一种计算机语言,尤用于创建网站)
// Java code to illustrate StringBuilder
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
// create a StringBuilder object
// using StringBuilder() constructor
StringBuilder str
= new StringBuilder();
str.append("GFG");
// print string
System.out.println("String = "
+ str.toString());
// create a StringBuilder object
// using StringBuilder(CharSequence) constructor
StringBuilder str1
= new StringBuilder("AAAABBBCCCC");
// print string
System.out.println("String1 = "
+ str1.toString());
// create a StringBuilder object
// using StringBuilder(capacity) constructor
StringBuilder str2
= new StringBuilder(10);
// print string
System.out.println("String2 capacity = "
+ str2.capacity());
// create a StringBuilder object
// using StringBuilder(String) constructor
StringBuilder str3
= new StringBuilder(str1.toString());
// print string
System.out.println("String3 = "
+ str3.toString());
}
}
Output:
String = GFG
String1 = AAAABBBCCCC
String2 capacity = 10
String3 = AAAABBBCCCC
Java StringBuilder 中的方法:
-
StringBuilder append(X X):这个方法将 X 类型参数的字符串表示形式追加到序列中。
-
StringBuilder appendCodePoint(int CodePoint):这个方法将 codePoint 参数的字符串表示形式追加到这个序列中。
-
【int capacity():此方法返回当前容量。
-
char charAt(int index):这个方法返回这个序列中指定索引处的 char 值。
-
IntStream chars() :这个方法返回一个 int 零扩展的字符值流。
-
int codePointAt(int index):此方法返回指定索引处的字符(Unicode 码位)。
-
int codepoint before(int index):此方法返回指定索引前的字符(Unicode 码位)。
-
int codePointCount(int beginIndex,int endIndex) :该方法返回该序列指定文本范围内的 Unicode 码点数。
-
IntStream codePoints() :这个方法从这个序列返回一个代码点值流。
-
StringBuilder delete(int start,int end) :这个方法删除这个序列的子串中的字符。
-
StringBuilder delete charat(int index):这个方法删除这个序列中指定位置的字符。
-
void ensureCapacity(int minimummcapacity):此方法确保容量至少等于指定的最小值。
-
void getChars(int srcBegin,int srcEnd,char【】dst,int dstBegin) :此方法将字符从该序列复制到目标字符数组 dst 中。
-
int indexOf() :此方法返回指定子串第一次出现的字符串内的索引。
-
StringBuilder insert(int offset,boolean b) :这个方法将 booalternatelean 参数的字符串表示形式插入到这个序列中。
-
StringBuilder insert() :这个方法将 char 参数的字符串表示插入到这个序列中。
-
int lastIndexOf() :此方法返回指定子串最后一次出现的字符串内的索引。
-
int length() :此方法返回长度(字符数)。
-
int offset by codepoints(int index,int codePointOffset) :此方法返回此序列内的索引,该索引从给定索引偏移了 codePointOffset 代码点。
-
StringBuilder replace(int start,int end,String str) :这个方法用指定 String 中的字符替换这个序列的子串中的字符。
-
StringBuilder reverse():这个方法会让这个字符序列被序列的反码替换。
-
void setCharAt(int index,char ch) :在这个方法中,指定索引处的字符设置为 ch。
-
void setLength(int newLength):此方法设置字符序列的长度。
-
字符序列子序列(int start,int end) :这个方法返回一个新的字符序列,它是这个序列的子序列。
-
String substring():这个方法返回一个新的 String,它包含当前包含在这个字符序列中的字符的子序列。
-
String toString() :这个方法返回一个代表这个序列中数据的字符串。
-
void trimToSize() :此方法试图减少字符序列使用的存储量。
例:
Java 语言(一种计算机语言,尤用于创建网站)
// Java code to illustrate
// methods of StringBuilder
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
// create a StringBuilder object
// with a String pass as parameter
StringBuilder str
= new StringBuilder("AAAABBBCCCC");
// print string
System.out.println("String = "
+ str.toString());
// reverse the string
StringBuilder reverseStr = str.reverse();
// print string
System.out.println("Reverse String = "
+ reverseStr.toString());
// Append ', '(44) to the String
str.appendCodePoint(44);
// Print the modified String
System.out.println("Modified StringBuilder = "
+ str);
// get capacity
int capacity = str.capacity();
// print the result
System.out.println("StringBuilder = " + str);
System.out.println("Capacity of StringBuilder = "
+ capacity);
}
}
Output:
String = AAAABBBCCCC
Reverse String = CCCCBBBAAAA
Modified StringBuilder = CCCCBBBAAAA,
StringBuilder = CCCCBBBAAAA,
Capacity of StringBuilder = 27
参考:https://docs . Oracle . com/javase/9/docs/API/Java/lang/stringbuilder . html
版权属于:月萌API www.moonapi.com,转载请注明出处