在 Java 中,StringBuilder 常用于高效拼接字符串(尤其是在循环或频繁修改字符串时)。下面从基本用法到常见场景给你一个完整说明。
String 是不可变的,每次拼接都会生成新对象,效率低StringBuilder 是可变字符序列,适合频繁修改StringBuilder sb = new StringBuilder();
// 或者指定初始容量
StringBuilder sb2 = new StringBuilder(100);
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
String result = sb.toString();
System.out.println(result); // Hello World
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
sb.append(i).append(",");
}
String str = sb.toString();
StringBuilder sb = new StringBuilder("Hello World");
sb.insert(5, " Java");
System.out.println(sb); // Hello Java World
StringBuilder sb = new StringBuilder("Hello World");
sb.delete(5, 11);
System.out.println(sb); // Hello
StringBuilder sb = new StringBuilder("Hello World");
sb.replace(6, 11, "Java");
System.out.println(sb); // Hello Java
StringBuilder sb = new StringBuilder("abc");
sb.reverse();
System.out.println(sb); // cba
| 类 | 线程安全 | 性能 |
|---|---|---|
| StringBuilder | ❌ 不安全 | ✅ 高 |
| StringBuffer | ✅ 安全 | ❌ 较低 |
单线程环境优先使用
StringBuilder
public class Demo {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
sb.append("姓名:").append("张三")
.append(",年龄:").append(20);
System.out.println(sb.toString());
}
}
如果你有具体使用场景(比如生成 SQL、JSON、日志等),我可以给你更贴合的示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。