【发布时间】:2015-07-08 13:27:24
【问题描述】:
我一直在并发应用程序中使用字符串,为了使代码更加优化,我必须使用StringBuffer而不是字符串?但我很困惑string.endsWith("\\") 的替代品是StringBuffer。 StringBuffer 的什么方法应该用于上述目的?
【问题讨论】:
-
除非必要,否则请不要使用 StringBuffer,因为十年前它已被 StringBuilder 取代。
-
@PeterLawrey StringBuilder 不是线程安全的。如果是并发应用程序,你有什么替代字符串缓冲区的方法吗?
-
你能给我一个在多线程程序中使用 StringBuffer 的例子吗?注意:您一次只能以线程安全的方式执行一种方法。例如
sb.append("a").append("b").toString()可能会在方法调用之间释放锁,因此它不是线程安全的。
标签: java concurrency stringbuffer