您的位置:首页 > 产品设计 > UI/UE

String、StringBuffer与StringBuilder之间区别

2017-10-19 18:50 567 查看
三者比较:

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,线程不同步,因为最快,不需要排队等候

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: