官方介绍:
一个可变的字符序列。此类提供与StringBuffer兼容的API,但不保证同步。
此类设计用作StringBuffer的替代品,用于单个线程使用字符串缓冲区的位置(通常情况下)。
在可能的情况下,建议首先使用此类优先于StringBuffer,因为在大多数实现中它会更快。
官方文档:(包含很多的方法使用,需要的请自行翻译)
StringBuilder append(int i)
Appends the string representation of the int argument to this sequence.
int capacity()
Returns the current capacity.
char charAt(int index)
Returns the char value in this sequence at the specified index.
int codePointAt(int index)
Returns the character (Unicode code point) at the specified index.
int codePointBefore(int index)
Returns the character (Unicode code point) before the specified index.
int codePointCount(int beginIndex, int endIndex)
Returns the number of Unicode code points in the specified text range of this sequence.
StringBuilder delete(int start, int end)
Removes the characters in a substring of this sequence.
StringBuilder deleteCharAt(int index)
Removes the char at the specified position in this sequence.
void ensureCapacity(int minimumCapacity)
Ensures that the capacity is at least equal to the specified minimum.
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Characters are copied from this sequence into the destination character array dst.
int indexOf(String str)
Returns the index within this string of the first occurrence of the specified substring.
int indexOf(String str, int fromIndex)
Returns the index within this string of the first occurrence of the specified substring, starting at the specified index.
StringBuilder insert(int offset, char[] str)
Inserts the string representation of the char array argument into this sequence.
int lastIndexOf(String str, int fromIndex)
Returns the index within this string of the last occurrence of the specified substring.
int length()
Returns the length (character count).
int offsetByCodePoints(int index, int codePointOffset)
Returns the index within this sequence that is offset from the given index by codePointOffset code points.
StringBuilder replace(int start, int end, String str)
Replaces the characters in a substring of this sequence with characters in the specified String.
StringBuilder reverse()
Causes this character sequence to be replaced by the reverse of the sequence.
void setCharAt(int index, char ch)
The character at the specified index is set to ch.
void setLength(int newLength)
Sets the length of the character sequence.
CharSequence subSequence(int start, int end)
Returns a new character sequence that is a subsequence of this sequence.
String substring(int start, int end)
Returns a new String that contains a subsequence of characters currently contained in this sequence.
String toString()
Returns a string representing the data in this sequence.
void trimToSize()
Attempts to reduce storage used for the character sequence.
应用示例1:简单的字符串拼接 输出结果:qwert
private static void testInsertAPI() {
System.out.println("-------- testInsertAPIs --------------");
StringBuilder sbuilder = new StringBuilder();
sbuilder.append(new char[]{'q', 'w', 'e', 'r', 't'}); //拼接
System.out.printf("%s\n\n", sbuilder);
}
应用示例2:指定字符串删除 输出结果:qwet
private static void testInsertAPI() {
System.out.println("----------------- testInsertAPIs ------------------");
StringBuilder sbuilder = new StringBuilder();
// 在位置0处插入字符数组
sbuilder.append(new char[]{'q', 'w', 'e', 'r', 't'}); //拼接
sbuilder.deleteCharAt(3); //按下标删除
System.out.printf("%s\n\n", sbuilder);
}
应用示例3:字符串插入,输出结果:abcdeqwert
private static void testInsertAPI() {
System.out.println("------------ testInsertAPIs ---------------");
StringBuilder sbuilder = new StringBuilder();
sbuilder.append(new char[]{'q', 'w', 'e', 'r', 't'}); //拼接
// 在位置0处插入字符数组
sbuilder.insert(0, new char[]{'a', 'b', 'c', 'd', 'e'});
System.out.printf("%s\n\n", sbuilder);
}
应用示例4:字符串反序 输出结果:trewq
private static void testInsertAPI() {
System.out.println("------------ testInsertAPIs ---------------");
StringBuilder sbuilder = new StringBuilder();
sbuilder.append(new char[]{'q', 'w', 'e', 'r', 't'}); //拼接
// 在位置0处插入字符数组
sbuilder.reverse(); //反序
System.out.printf("%s\n\n", sbuilder);
}