String、StringBuffer和StringBuilder的区别

转载 2016年05月30日 22:38:29

1、StringBuilder:线程非安全的、但速度最快

StringBuffer:线程安全的、速度慢

当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。
2.  StringBuffer与StringBuilder,他们是字符串变量,是可改变的对象,每当我们用它们对字符串做操作时,实际上是在一个对象上操作的,不像String一样创建一些对象进行操作,所以速度就快了。
对于三者使用的总结:
			  1.如果要操作少量的数据用 = String
                    2.单线程操作字符串缓冲区 下操作大量数据 = StringBuilder
                    3.多线程操作字符串缓冲区 下操作大量数据 = StringBuffer

String、StringBuilder、StringBuffer类之间的区别与联系

String是immutable类,则每次对String操作都会产生新的String对象,这样效率十分底下,而且浪费内存。 StringBuffer是可变的类和线程安全的字符串操作类,任何对它指向的...

Java中 String类、StringBuilder类、StringBuffer类 区别与如何选择

Technorati 标签: String,StringBuilder;StringBuffer,区别;选择       关于这三者的区别,我们从官方API上很容易找到答案。 这里做了一下比较,并写...

Java之String、StringBuilder、StringBuffer的区别

String : 字符串常量,它们的值在创建之后不能更改。代表字符串,Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。   String的值是不可变的,这就导致每次对...
  • T_P_F
  • T_P_F
  • 2017年01月12日 14:59
  • 254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:String、StringBuffer和StringBuilder的区别
举报原因:
原因补充:

(最多只允许输入30个字)