Java中StringBuffer和StringBuilder区别
发布时间:2020-12-14 19:44:48 所属栏目:Java 来源:网络整理
导读:早先用Java的时候,知道有个类叫StringBuffer,用来拼接较长的字符串。转到C#之后,也有一个似类功能的类叫作StringBuilder,简写都是sb,非常好记。 再后来转移回Java的时候,发现Java也有了StringBuilder,于是就好奇了一下为什么在StringBuffer之后又推出
早先用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的引入带来了非常大的性能提升,而且一点安全问题也没有…… 您可能感兴趣的文章:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |