
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 StringBuildersb.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可以高效地进行字符串操作,适用于多次修改字符串的场景。
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月16日 21时44分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C语言的6大基本数据类型!(学习C语言小白必备!!)
2019-03-05
Vue——mock模拟数据的使用
2019-03-05
Nginx配置反向代理与负载均衡
2019-03-05
高阶函数reduce
2019-03-05
Lionheart万汇:布林线双底形态分析技巧
2019-03-05
Lionheart万汇:台积电大幅提升资本开支,2021有望续创辉煌
2019-03-05
LHCM万汇:在需求上升中,美国贸易赤字创下历史新高
2019-03-05
Mybatis的入门01
2019-03-05
Vue路由嵌套刷新后页面没有重新渲染
2019-03-05
Vue使用bus进行组件间、父子路由间通信
2019-03-05
数据库三个级别封锁协议
2019-03-05
类的实例
2019-03-05
tomcat加载部署webapps目录下的项目
2019-03-05
ACM/NCPC2016 C Card Hand Sorting(upc 3028)
2019-03-05
方法重写
2019-03-05
Threading Programming Guide(多线程编程指南)
2019-03-05
Java求逆波兰表达式的结果(栈)
2019-03-05
SDWebImage--http图片加载不出来的问题
2019-03-05
Application received signal SIGSEGV
2019-03-05
MySQL删除数据库时的错误(errno: 39)
2019-03-05