Java字符串操作的利器:深入解析StringBuilder

一、为什么需要StringBuilder?

1. String的不可变性代价

String str = "Hello";
str += " World"; // 创建新对象,旧对象等待GC回收

2. 性能测试对比(循环10万次)

操作方式 耗时(ms) 内存占用(MB)
直接String拼接 4236 58.7
StringBuilder 7 2.1

二、StringBuilder核心API详解

1. 基础操作

StringBuilder sb = new StringBuilder(); // 初始容量16
sb.append("Java");                      // 追加内容
sb.insert(2, "**");                     // 插入 → J**ava
sb.delete(1, 3);                        // 删除 → Jva
sb.reverse();                           // 反转 → avJ

2. 容量控制(避免频繁扩容)

StringBuilder sb = new StringBuilder(100); // 预分配容量
System.out.println(sb.capacity());        // 输出100
sb.append(new char[200]);                 // 触发扩容
System.out.println(sb.capacity());        // 输出 (100*2)+2=202

你可能感兴趣的:(java,jvm,开发语言)