在 Java 中,StringBuilder 是 java.lang 包下的一个可变字符序列类,用来高效地进行字符串拼接和修改。
在 Java 中:
String 是不可变的(每次拼接都会创建新对象)String 会频繁创建对象,性能差String s = "";
for (int i = 0; i < 10000; i++) {
s += i; // 每次都新建 String 对象
}
而 StringBuilder 是可变的,不会频繁创建对象。
StringBuilder 是一个字符容器toString() 转成 StringStringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.append(" ");
sb.append("World");
String result = sb.toString(); // "Hello World"
| 方法 | 说明 |
|---|---|
append() |
追加内容 |
insert() |
在指定位置插入 |
delete() |
删除字符 |
replace() |
替换字符 |
reverse() |
反转字符串 |
length() |
长度 |
toString() |
转成 String |
示例:
StringBuilder sb = new StringBuilder("abc");
sb.append("123"); // abc123
sb.insert(1, "X"); // aXbc123
sb.delete(0, 2); // bc123
sb.reverse(); // 321cb
| 类 | 线程安全 | 性能 |
|---|---|---|
| StringBuilder | ❌ 不安全 | ✅ 快 |
| StringBuffer | ✅ 安全 | ❌ 慢 |
StringBuilderStringBufferStringBuilder 是 Java 中用于高效操作字符串的可变类,适合频繁修改字符串的场景。
如果你愿意,我也可以帮你对比 String、StringBuilder、StringBuffer 的底层原理或画内存示意图。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。