String
在Java中String的值是不可改变的,这就导致每次对String的操作都会生成一个新的String对象,效率低下并且浪费资源。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/832dec7fba46c37c4ce126ba6455bbd7.png)
StringBuffer和StringBuilder
经常性对字符串进行操作的时候,使用StringBuilder和StringBuffer。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/dff97df60484aaa77f825eaf2adc08c2.png)
主要区别:
StringBuilder速度快,但不是线程安全的(不能同步访问)
小结:
(1)如果要操作少量的数据用 String;
(2)多线程操作字符串缓冲区下操作大量数据 StringBuffer;
(3)单线程操作字符串缓冲区下操作大量数据 StringBuilder(推荐使用)。