stringbuilder比string拼接更高效,因其内部维护可变字符数组,避免频繁创建对象和gc开销;循环拼接10000次时通常快5–10倍。

StringBuilder为什么比String拼接更高效
String对象不可变,每次拼接都会生成新对象,旧对象变成垃圾;而StringBuilder内部维护一个可变字符数组,在同一块内存上直接修改,避免频繁创建对象和GC开销。循环中拼接10000次字符串,StringBuilder通常快5–10倍。
最常用的增删改查操作
所有修改类方法都返回自身,支持链式调用:
- append():追加任意类型数据(字符串、数字、布尔、char数组甚至另一个StringBuilder)
- insert(int offset, ...):在指定索引前插入,原内容后移,不覆盖
- delete(int start, int end):删除[start, end)区间字符(左闭右开)
- deleteCharAt(int index):快速删单个字符,比delete( i, i+1 )更简洁
- replace(int start, int end, String str):用新字符串替换指定区间
- reverse():原地反转,无需额外空间
容量与长度的区分很关键
length()返回当前实际字符数;capacity()返回底层数组能容纳的最大字符数。默认初始容量为16,当length超过capacity时,自动扩容为oldCapacity * 2 + 2。若预估最终长度(如拼接万条日志),建议用new StringBuilder(10240)避免多次扩容。
别忘了最后一步:转成String
StringBuilder是中间处理工具,业务逻辑中最终需要String类型。必须显式调用toString()获取结果,否则直接打印或传参可能引发意外交互问题。注意它返回的是新String对象,不影响原StringBuilder状态。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











