When modifying strings, you need to use the StringBuffer and StringBuilder classes. Different from the String class, objects of the StringBuffer and StringBuilder classes can be modified multiple times without generating new unused objects .
StringBuffer: When using the StringBuffer class, the StringBuffer object itself will be operated every time instead of generating a new object, so if you need to It is recommended to use StringBuffer to modify strings.
StringBuilder: The StringBuilder class was proposed in Java 5. The biggest difference between it and StringBuffer is that the methods of StringBuilder are not thread-safe (cannot be accessed synchronously). Since StringBuilder has a speed advantage compared to StringBuffer, it is recommended to use the StringBuilder class in most cases.
StringBuilder usage example:
public class RunoobTest{ public static void main(String args[]){ StringBuilder sb = new StringBuilder(10); sb.append("Runoob.."); System.out.println(sb); sb.append("!"); System.out.println(sb); sb.insert(8, "Java"); System.out.println(sb); sb.delete(5,8); System.out.println(sb); } } // 实例编译运行结果如下: // Runoob.. // Runoob..! // Runoob..Java! // RunooJava!
#However, when the application requires thread safety, the StringBuffer class must be used. StringBuffer usage example:
public class Test { public static void main(String args[]) { StringBuffer sBuffer = new StringBuffer("稀土掘金:"); sBuffer.append("www"); sBuffer.append(".juejin"); sBuffer.append(".cn"); System.out.println(sBuffer); } } // 实例编译运行结果如下: // 稀土掘金:www.juejin.cn
StringBuffer method
Main methods supported by the StringBuffer class:
Serial number | Method description |
---|---|
1 | public StringBuffer append(String s), append the specified string to this character sequence |
2 | public StringBuffer reverse(), replace this character sequence with its reversed form |
3 | public delete( int start, int end), remove the characters |
4 | public insert(int offset, int i), change the int parameter from the substring of this sequence The string representation of is inserted into this sequence |
5 | insert(int offset, String str), inserts the string of the str parameter into this sequence |
6 | replace(int start, int end, String str) , replaces the characters in the substring of this sequence with the characters in the given String |
Other common methods of the StringBuffer class:
Serial number | Method description |
---|---|
1 | int capacity(), returns the current capacity |
2 | char charAt(int index), returns the specified index in this sequence The char value at |
3 | void ensureCapacity(int minimumCapacity) ensures that the capacity is at least equal to the specified minimum value |
4 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin), copies characters from this sequence to the target character array dst |
5 | int indexOf(String str), returns the index of the first occurrence of the specified substring in the string |
6 | int indexOf( String str, int fromIndex), starting from the specified index, returns the index of the first occurrence of the specified substring in the string |
7 | int lastIndexOf(String str), returns the index of the last occurrence of the specified substring in this string |
8 | int lastIndexOf(String str, int fromIndex), returns the index of the last occurrence of the specified character in this string, and performs a reverse search starting from the specified index |
9 | int length( ), returns the length (number of characters) |
10 | void setCharAt(int index, char ch), sets the character at the given index to the value of the ch parameter |
11 | void setLength(int newLength), set the length of the character sequence |
12 | CharSequence subSequence(int start, int end), returns a new character sequence that is a subsequence of this sequence |
13 | String substring(int start ), returns a new String, which contains the character subsequence currently contained by this character sequence |
14 | String substring(int start, int end), returns A new String that contains the character subsequence currently contained by this sequence |
15 | String toString(), returns the string representation of the data in this sequence |
Method instance:\color{red}{Method instance:}Method instance:
reverse() Method instance:
public synchronized StringBuffer reverse()
Description:
Replace this character sequence with its reversed form.
Parameters:
None
Return value:
The reversed form of the character sequence.
public class Test { public static void main(String args[]) { String string="niJeuJ"; String reverse = new StringBuffer(string).reverse().toString(); System.out.println("字符串反转前:"+string); System.out.println("字符串反转后:"+reverse); } } // 以上程序执行结果为: // 字符串反转前:niJeuJ // 字符串反转后:JueJin
The above is the detailed content of How to use StringBuffer and StringBuilder in Java. For more information, please follow other related articles on the PHP Chinese website!