Java中StringBuffer和StringBuilder区别
程序员文章站
2022-04-16 15:28:44
...
早先用Java的时候,知道有个类叫StringBuffer,用来拼接较长的字符串。转到C#之后,也有一个似类功能的类叫作StringBuilder,简写都是sb,非常好记。
再后来转移回Java的时候,发现Java也有了StringBuilder,于是就好奇了一下为什么在StringBuffer之后又推出了StringBuilder。
原来Java的StringBuilder(和C#一样)是非线程安全的,而早先的StringBuffer具有一定的线程安全属性。当然,推出StringBuilder,主要也是因为它没有必要在多线程的情况下使用。
常见的StringBuilder(或者StringBuffer)的用例是:
public String toString() { return new StringBuilder() .append("Name: " + name) .append("Foo: " + foo) .append("Bar: " + bar) .toString(); }
在这种情况下,StringBuilder都不是一个类成员,它只是一个局部变量,根本谈不上多线程的问题。
于是,StringBuilder的引入带来了非常大的性能提升,而且一点安全问题也没有……
更多Java中StringBuffer和StringBuilder区别相关文章请关注PHP中文网!
推荐阅读
-
CSS3中:nth-child和:nth-of-type的区别深入理解
-
CSS3中background-clip和background-origin的区别示例介绍
-
Java中的增强for循环和break continue的使用 以及流程控制训练
-
mysql中engine=innodb和engine=myisam的区别 (转)_MySQL
-
java中的sleep()和wait()的区别
-
String、StringBuffer和StringBuilder区别
-
PHP中new static() 和 new self() 的区别介绍_PHP
-
java中的关键字和标识符
-
Java系统中拆分同步和异步详解
-
在javaScript中关于submit和button的区别介绍_基础知识