rt

解决方案 »

  1.   

    偷懒的时候用String
    要效率的时候用StringBuffer一般来说String体积小
    StringBuffer处理字符串效率高
      

  2.   

    字符串需要改变的时候用StringBuffer 不用变的字符串用String
      

  3.   

    应该是字符串需要大量的追加,修改的时候,就用StringBuffer,这样效率很高。
      

  4.   

    要经常改变字符串内容的时候  用StringBuffer
      

  5.   

    如果这个字符串很少变的话 用string
    如果一个字符串老是变来变去用StringBuffer
    具体情况具体对待 .
      

  6.   

    一般需要组织字符串时,用stringbuffer如
    StringBuffer sql=new StringBuffer();
    sql.append("select ...");
    sql.append(" from ...");效率比string高
      

  7.   

    大多时候是拼字符串的时候用StringBuffer 就向楼上拼sql语句
      

  8.   

    StringBuffer 主要是用于字段追加 效率比较高吧
    String 主要是用于定长字段
      

  9.   

    String是不变类,确实不适合用来组织字符串。StringBuffer sb=new StringBuffer();
    sb.append("a");
    sb.append("b");
    sb.append("c");
    这段代码生成4个对象a,b,c,abcString s = "a" + "b" + "c";
    这段代码生成5个对象a,b,c,ab,abc
      

  10.   

    JDK5.0以后,多线程用StringBuffer,单线程用StringBuilder
      

  11.   

    记住他们的区别
    String不可以修改值,也就是说 
    String a="BBB";
    这个时候系统产生一个空间去放BBB
    a="BBBA"
    这个时候系统再产生一个空间去放BBBA,这样就产生了2个地址空间了
    每次String改变系统都要生成一个新的空间
    而StringBuffer则不同
    StringBuffer a = new StringBuffer("AAA");
    这个时候系统产生一个空间放AAA
    a.append("B"),这个时候a也会=AAAB
    但是他放在原来的空间不会新产生空间,这样就节省系统资源了
      

  12.   

    一句话,StringBuffer 适合变化的需要。
      

  13.   

    String不能改,StringBuffer能改!
      

  14.   

    一般来说String体积小
    StringBuffer处理字符串效率高
    -----------------------------------
    这个不一定的..如果你一两个字符连接还StringBuffer不如String
      

  15.   

    这是正解:
    记住他们的区别
    String不可以修改值,也就是说 
    String a="BBB";
    这个时候系统产生一个空间去放BBB
    a="BBBA"
    这个时候系统再产生一个空间去放BBBA,这样就产生了2个地址空间了
    每次String改变系统都要生成一个新的空间
    而StringBuffer则不同
    StringBuffer a = new StringBuffer("AAA");
    这个时候系统产生一个空间放AAA
    a.append("B"),这个时候a也会=AAAB
    但是他放在原来的空间不会新产生空间,这样就节省系统资源了
      

  16.   

    楼上有两个朋友说的很对了,再重复一下,希望楼主能记住:
    String 在进行运算时(如赋值、拼接等)会产生一个新的实例,而 StringBuilder 则不会。所以在大量字符串拼接或频繁对某一字符串进行操作时最好使用 StringBuilder,不要使用 String另外,对于 String 我们不得不多说几句:
    1.它是引用类型,在堆上分配内存
    2.运算时会产生一个新的实例
    3.String 对象一旦生成不可改变(Immutable)
    3.定义相等运算符(== 和 !=)是为了比较 String 对象(而不是引用)的值
      

  17.   

    一般情况下用string
    对同一个字符串处理比较多的时候用stringBuffer