程序员社区

(字符串面试题)为什么要引入SpringBuffer、StringBuilder两种字符串处理类?

说白了就是提高字符串连接效率。在大部分情况下,字符串的拼接速度为:StringBuilder>StringBuffer>String。

String是不可变的,因此每次对其操作改变其变量值,其实是生成一个新的对象,然后将变量引用指向新对象;因此速度慢。

StringBuffer则不同,对其操作即直接操作对象指向的引用,无需产生新对象,速度很快;它是线程安全的,在维护多线程的同步等也会消耗一点性能。

StringBuilder是jdk5之后新增的,其用法与StringBuffer完全一致,但它是线程不安全的,在单线程中最佳,因为其不需要维护线程的安全,因此是最快的。

Java面试题

赞(0) 打赏
未经允许不得转载:IDEA激活码 » (字符串面试题)为什么要引入SpringBuffer、StringBuilder两种字符串处理类?

一个分享Java & Python知识的社区