0
点赞
收藏
分享

微信扫一扫

StringBuffer 和 StringBuilder

区别

1. 线程安全:StringBuffer线程安全,StringBuilder线程不安全。因为StringBuffer的所有公开方法都是synchronized修饰的。

2. 缓冲区:StringBuffer每次获取toString都会直接使用缓存区的toStringCache值来构造一个字符串。而StringBuilder则每次都需要复制一次字符数组,再构造一个字符串。

3. 性能:既然StringBuffer是线程安全的,他的所有公开方法都是同步的,StringBuilder是没有对方法加锁同步的,所以毫无疑问,StringBuilder的性能要远大于StringBuffer。

总结:

StringBuffer适用于在多线程操作同一个StringBuffer的场景,如果是单线程场合StringBuilder更合适。

举报

相关推荐

0 条评论