在处理字符串时,会用到string、stringbuffer、和stringbuilder,但三者有什么区别呢?
1、 在运行速度方面
Stringbuilder>stringbuffer>string的,因为string为字符串常量,而另外两个为字符串变量。这也就是说,string在赋值之后就不会再变了,所有对string的操作都是建立了一个新的string,比如string s =”abc”;s = s+1;实际上是先创建了s为abc,然后又创建了一个s来执行第二行代码,所以他的速度要慢。
2、 对于stringbuilder和stringbuffer
虽然stringbuilder的运行速度快,但他不是线程安全的。Stringbuffer是线程安全的。这就意味着,在多线程的场合下尽量使用stringbuffer。