String、StringBuffer与StringBuilder之间区别

来源:互联网 发布:用淘宝联盟赚钱安全吗 编辑:程序博客网 时间:2024/06/08 07:05

三者比较:

1.三者在执行速度方面的比较:StringBuilder >  StringBuffer  >  String

影响速度的原因:因为每当操作String字符串的时候都是在不断的new 新的String对象,而原来的对象就会被GC回收掉,因此String的速度是最慢的

2.特殊的列子

String str = “This is only a” + “ simple” + “ test”;
StringBuffer builder = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”);

像以上的这种情况下,String 是最快的,但是如果是以下的这种情况就速度就没有那么快了

String str2 = “This is only a”;

String str3 = “ simple”;

String str4 = “ test”;

String str1 = str2 +str3 + str4;

3.StringBuilder与 StringBuffer

StringBuilder:线程非安全的

StringBuffer:线程安全的

之所以StringBuffer是线程安全的,就是因为它始终是单线程的,所以安全,当然速度就会慢


之所以说StringBuilder是最快的,是因为他没有synchronized,线程不同步,因为最快,不需要排队等候


原创粉丝点击