java基础知识-String相关

文章参考于:https://www.cnblogs.com/Faith-zhang/p/6374834.html

Java拼接字符串,大致有3个CLASS可以用,分别是:String, StringBuffer, StringBulider。其中StringBulider是1.5中来代替StringBuffer的。

利用代码来检测不同方法拼接字符串的耗时,结果如下:

用String+=拼接字符串的时间27468 
用String=String+拼接字符串的时间25813 
用String.concat拼接字符串的时间12265 
用StringBuffer.append拼接字符串的时间14 
用StringBuilder.append拼接字符串的时间8 

耗时最短的是StringBuilder的append方法。

解析:

1.String本身是final类型,字符串拼接时,会使用StringBuffer并调用append,然后再调用tostring方法。而StringBuffer转换为String时开销相当大,中间不仅创建了StringBuffer,后期还要再转为String

2.做字符串连接是,String类的contact方法要优于+号方法。(String+=)和(String=String+)这两个效率差不多

3.StringBulider的出现就是来替换StringBuffer的,但是不适宜多线程编程。

  从这点上来说,StringBulider更适用于单线程,StringBudder更适用于多线程

4.单线程直线,StringBuffer.append和StringBulider.append效率差不多



你可能感兴趣的:(Java)