stringbuffer与stringbuilder
1、相同点:
StringBuffer与StringBuilder,它们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String是创建一些对象进行操作,所以速度比String要快的多,而且不会造出太多的垃圾串。同时,它们的方法几乎相同。
2、不同点:
(1)执行速度方面:
StringBuilder > StringBuffer
(2)线程安全方面:
StringBuilder:线程非安全的
StringBuffer:线程安全的
当我们在字符串缓冲区被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但却可以保证StringBuffer是可以正确操作的。
当然,大多数情况下我们都是在单线程下进行操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,因为单线程下StringBuilder速度快。
3、总结:
单线程操作字符串缓冲区下大量数据用StringBuilde,速度快;
多线程操作字符串缓冲区下大量数据用StringBuffer,安全。
4、常用方法:
append 添加;
Insert 插入;
reverse() 翻转;
toString() 返回字符串
--------------------------------------------------------------------------------------------------------------