StringBuilder
StringBuilder
是 Java 中一个可变的字符串类,用于处理大量字符串操作。由于 String
类不可变性,java没有提供修改内容的方法,不便于修改内容,不适合频繁拼接,性能低,开销大。StringBuilder
具有可变性,可以高效地进行字符串的拼接、替换等操作,而无需创建多个字符串对象,同时提供了便于修改字符串内容的相关操作。
StringBuilder类的常用方法
1.append(String str):在字符串末尾添加指定的字符串。
public class StringBuilderExample {
public static void main(String[] args) {
// 创建一个StringBuilder对象
StringBuilder sb = new StringBuilder();
// 使用append方法在字符串末尾添加指定的字符串
sb.append("Hello");
sb.append(" ");
sb.append("World!");
// 打印结果
System.out.println(sb.toString());
}
}
2.insert(int offset, String str):在指定位置插入指定的字符串。
StringBuilder stringBuilder = new StringBuilder("Hello world!");
// 在位置6插入字符串" beautiful"
stringBuilder.insert(6, " beautiful");
System.out.println(stringBuilder.toString());
3.delete(int start, int end):删除指定范围内的字符串。(下标范围含头不含尾)
public class StringBuilderExample {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Hello, World!");
int start = 7;
int end = 12;
sb.delete(start, end);
System.out.println(sb.toString());
}
}
4.reverse():反转字符串。
public class ReverseString {
public static String reverse(String str) {
// 使用StringBuilder类来创建一个可变字符串对象
StringBuilder sb = new StringBuilder();
// 将字符串逐个字符倒序添加到可变字符串中
for (int i = str.length() - 1; i >= 0; i--) {
char c = str.charAt(i);
sb.append(c);
}
// 将可变字符串转换为普通字符串并返回
return sb.toString();
}
public static void main(String[] args) {
String str = "Hello World!";
String reversedStr = reverse(str);
System.out.println("Original String: " + str);
System.out.println("Reversed String: " + reversedStr);
}
}
5.length():返回字符串的长度。
public class StringBuilderExample {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Hello World!");
int length = sb.length();
System.out.println("Length of the string: " + length);
}
}
6.charAt(int index):返回指定位置的字符。
public class StringBuilderExample {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Hello World!");
char character = sb.charAt(6);
System.out.println("Character at index 6: " + character);
}
}
7.setCharAt(int index, char ch):将指定位置的字符替换为指定的字符。
public class StringBuilderExample {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder("Hello World!");
sb.setCharAt(6, 'M');
String result = sb.toString();
System.out.println("After replacing character at index 6: " + result);
}
}
8.toString():将StringBuilder对象转换为String对象。
StringBuilder sb = new StringBuilder("Hello");
sb.append(" world");
String str = sb.toString();
System.out.println(str); // 输出:Hello world