Java使用StringBuilder进行简单字符串替换能提高效率,为什么jdk不新增一个这样的实现?

public static void replaceAll(StringBuilder sb, String target, String repla…
关注者
7
被浏览
1,798

2 个回答

StringBuilder是非线程安全

StringBuffer是线程安全的

在某些情况下, String对象的字符串拼接其实是被解释成了 StringBuffer对象的拼接

题主可以在多线程下分别用这两个操作下字符串试试

看了下源码,看不太懂,String.replaceAll慢是因为synchronized,StringBuilder快因为没加synchronized,但是我没遇到这种多线程下的应用场景,所以就不造了~~~