Java可变字符串StringBuffer、StringBuilder
发布日期:2021-05-07 14:43:31 浏览次数:25 分类:精选文章

本文共 2292 字,大约阅读时间需要 7 分钟。

StringBuilder类详解

1. StringBuilder类概述

StringBuilder是一个可变字符串类,内容可以修改。与String不同,StringBuilder内存中的数据可以被改变,因此在进行多次字符串操作时更为高效。

2. StringBuilder与String的区别

  • 不可变性:String的内容不可变,操作后会生成新对象。
  • 可变性:StringBuilder的内容可变,操作时不会生成新对象。
  • 线程安全:StringBuffer支持多线程操作,而StringBuilder不支持。

3. StringBuilder的构造方法

常用构造方法:

  • StringBuilder():创建空StringBuilder。
  • StringBuilder(String str):根据字符串创建StringBuilder。

示例:

StringBuilder sb = new StringBuilder();
System.out.println(sb); // 输出: empty StringBuilder
sb.append("hello");
System.out.println(sb); // 输出: hello

4. StringBuilder的添加和反转方法

  • 添加方法append()用于添加字符或对象,支持链式编程。
  • 反转方法reverse()方法可将StringBuilder内容反转。

示例:

StringBuilder sb = new StringBuilder("hello");
sb.append(" world");
sb.reverse();
System.out.println(sb); // 输出: dlrow olleh

5. StringBuilder与String的转换

  • 转换为String:使用toString()方法。
  • 转换为StringBuilder:使用构造方法new StringBuilder(str)

示例:

StringBuilder sb = new StringBuilder("hello");
String str = sb.toString(); // 输出: hello

6. 字符串拼接升级版案例

6.1 案例需求

定义一个方法,将int数组转换为指定格式的字符串,例如int数组{1,2,3}转换为"[1, 2, 3]”。

6.2 代码实现

public class StringBuilderTest {
public static void main(String[] args) {
int[] arr = {1, 2, 3};
String result = arrayToString(arr);
System.out.println("Result: " + result);
}
public static String arrayToString(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]);
if (i < arr.length - 1) {
sb.append(", ");
}
}
sb.append("]");
return sb.toString();
}
}

7. 字符串反转升级版案例

7.1 案例需求

定义一个方法,实现字符串反转。键盘输入一个字符串,输出其反转结果,例如输入"abc",输出"cba"。

7.2 代码实现

public class StringBuilderTest {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String input = scanner.nextLine();
String reversed = myReverse(input);
System.out.println("Reversed: " + reversed);
}
public static String myReverse(String s) {
return new StringBuilder(s).reverse().toString();
}
}

8. StringBuilder常用方法总结

  • append(): 添加任意类型的数据。
  • reverse(): 反转字符串内容。
  • toString(): 将StringBuilder转换为String。
  • length(): 获取当前字符串长度。
  • capacity(): 获取当前缓冲区容量。

通过这些方法,StringBuilder可以高效地进行字符串操作,适用于多次修改字符串的场景。

上一篇:Java集合ArrayList
下一篇:Java异常

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月16日 21时44分47秒