StringStringBufferStringBuilder的区别

Posted 脚踏实地,仰望星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了StringStringBufferStringBuilder的区别相关的知识,希望对你有一定的参考价值。

  String、StringBuffer、StringBuilder都是表示字符串的,而他们的最明显区别是String在做相应的字符串拼接、更改时String会把原有的回收,而重新创建一个新的字符串;StringBuffer和StringBuilder则不会,它们直接在原有字符串上进行更改。

比如:

String a = “I am a String”;
String b = a+”add b”;

  在这里b为”I am a String add b”,在创建b的过程中,a被回收,而创建一个新的字符串b。

StringBuffer buffer = new StringBuffer(“I am a StringBuffer”);
buffer.append(“add new String”);

  在这里buffer变为 “I am a StringBuffer add new String”。并且自始至终都是一个buffer,并没有创建新的StringBuffer。

StringBuffer和StringBuilder是同一类的,它俩之间的区别在于StringBuilder是线程不安全的,而StringBuffer是线程安全的。

StringBuffer和StringBuilder的构造方法如下:

 

以上是关于StringStringBufferStringBuilder的区别的主要内容,如果未能解决你的问题,请参考以下文章