Java中StringBuffer和StringBuilder区别
程序员文章站
2022-03-20 11:57:08
...
早先用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中文网!
上一篇: 关羽镇守荆州时有多厉害?实力超出你的想象
下一篇: C#递归得到特定文件夹下问件
推荐阅读
-
SQL中JOIN和UNION区别、用法及示例介绍
-
详谈java中File类getPath()、getAbsolutePath()、getCanonical的区别
-
Oracle中的Connect/session和process的区别及关系介绍
-
SQL中varchar和nvarchar的基本介绍及其区别
-
python后端框架(java和python的区别)
-
js获取元素坐标位置(js中var和let的区别)
-
Spring框架中 @Autowired 和 @Resource 注解的区别
-
Spring 中 @Service 和 @Resource 注解的区别
-
C#中前台线程和后台线程的区别与联系
-
java_String和StringBuffer区别分析