早先用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的引入带来了非常大的性能提升,而且一点安全问题也没有……
问题内容: 和之间的主要区别是什么?在决定其中任何一个时是否存在性能问题? 问题答案: 因为不是更快。 这是一个简单的基准测试: 一个试运行给出的数字2241 ms为StringBufferVS 753 ms的StringBuilder。
主要内容:总结在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串。String 类是不可变类,即一旦一个 String 对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。 Java 提供了两个可变字符串类 StringBuffer 和 StringBuilder,中文翻译为“字符串缓冲区”。 StringBuilder 类是 JDK 1.5 新增的类,
问题内容: 请告诉我一个实时的情况来比较String,StringBuffer和StringBuilder? 问题答案: 如果使用的是JGraph,则应尝试为算法设计的。它的功能之一是使用库进行可视化。它仍然开发,但相当稳定。我前段时间分析了算法的复杂性。其中一些并不是最快的,但是如果你要自己实现它们并需要显示图形,那么它可能是最佳选择。我真的很喜欢使用它的API,当时我不得不快速编写一个在图形上
问题内容: 和之间的主要区别是什么?在决定其中任何一个时是否存在性能问题? 问题答案: 是同步的,不是。
这篇文章主要介绍了String、StringBuffer、StringBuilder的区别详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。放假在家里休息,闲来无事,想巩固巩固自己的基础知识。 Java中提供了两个类String和StringBuffer,它们用于储存和操作字符串
本文向大家介绍我们如何比较Java中的StringBuilder和StringBuffer?,包括了我们如何比较Java中的StringBuilder和StringBuffer?的使用技巧和注意事项,需要的朋友参考一下 该StringBuffer的 对象通常是安全的使用多线程环境中多个线程可能试图访问同一StringBuffer的 同时对象。该StringBuilder的 是用于替换线程安全Str