- StringBuilder:适用于单线程环境,不是线程安全的,但性能更高。
- StringBuffer:适用于多线程环境,是线程安全的,但性能稍低。
StringBuilder
- 定义:用于创建和操作可变字符串。
- 线程安全:不是线程安全的,不能被多个线程安全地共享使用。
- 性能:在单线程环境中比
StringBuffer
更快。StringBuilder sb = new StringBuilder("Hello"); sb.append(" World"); System.out.println(sb.toString()); // 输出: Hello World
StringBuffer
- 定义:用于创建和操作可变字符串。
- 线程安全:是线程安全的,所有方法都是同步的,可以在多线程环境中安全使用。
- 性能:由于同步开销,在单线程环境中比
StringBuilder
慢StringBuffer sb = new StringBuffer("Hello"); sb.append(" World"); System.out.println(sb.toString()); // 输出: Hello World
StringBuilder
和 StringBuffer
是用于创建和操作可变字符串的类。它们的主要区别在于线程安全性和性能。