美文网首页
Java string stringbuffer stringb

Java string stringbuffer stringb

作者: KaelQ | 来源:发表于2016-09-11 22:35 被阅读64次

    1.String

    字符串常量。

    String s = "abcd";
    s = s+1;
    System.out.print(s);
    // result : abcd1
    

    这一段创建了两个对象,分别为abcd的常量和abcdl的常量。
    第一个常量对象被jvm进行gc回收。

    2.StringBuffer

    字符串变量
    线程安全的。

    3.StirngBuilder

    字符串变量
    线程不安全的。

    4.速度比较

    • StringBuilder>StringBuffer>String
      原因:
      1. 变量比常量操作更加快速。
      2. 因为常量的每一次改变需要新建一个常量。
        StringBuilder不用考虑线程安全的问题,所以比StringBuffer快。

    5.特例

    String s="a"+"b";
    StringBuilder s=new StringBuilder("a").append("b");

    在这里String是比StringBuilder快的,因为jvm直接将String的操作转换成
    

    String s="ab";

    如果是这样
    

    String s="a";
    s=s+"b";

    那么String的速度就比StringBuilder慢了。

    相关文章

      网友评论

          本文标题:Java string stringbuffer stringb

          本文链接:https://www.haomeiwen.com/subject/scauettx.html