string与stringbuffer和stringbuilder的区别
时间: 2023-10-04 16:08:06 浏览: 98
JAVA精华 String类一旦初始化就不可以改变,而stringbuffer则可以。它用于封装内容可变的字符串。
4星 · 用户满意度95%
1. String是不可变的,一旦创建就不能修改,每次修改都会创建一个新的对象,而StringBuffer和StringBuilder是可变的,可以在原有对象基础上修改。
2. String存储在常量池中,会被JVM自动管理,而StringBuffer和StringBuilder存储在堆中,需要手动管理。
3. StringBuffer是线程安全的,而StringBuilder是非线程安全的,因此在多线程环境下应该使用StringBuffer。
4. StringBuilder是JDK 1.5之后新增的,性能比StringBuffer更好,但是不保证线程安全。
阅读全文