如题

解决方案 »

  1.   

    一般在实际编码中,如果string较长,且有string的连接什么的,就用stringbuilder。

    Stringbuilder sb = new Stringbuilder();
    sb.Append("string1");
    sb.Append("string2");
    sb.Append("string3");
    sb.Append("string4");system.out.writeln(sb.toString());
      

  2.   

    string是固定不可修改的
    stringbuilder可修改内容
      

  3.   

    以前在Java版常见到有人问string与StringBuffer的区别
    .NET区倒是第一次见问string与stringbuilder区别的~
      

  4.   

    “string是固定不可修改的” 是不是在使用的时候创建副本,然后引用?
    而stringbuilder的操作是对栈上内容进行修改?
      

  5.   

    当你对字符串进行修改的时候,比如字符串连接、调用String的方法,结果是放在另外的临时变量里的,而不可能直接对原变量修改,当进行大量这种操作的时候,比如很多字符串的连接,用
    string使用很多临时变量,系统会不堪重负,这时就要使用StringBuffer直接对字符串缓冲区的内容进行修改
      

  6.   

    不是栈上stringbuilde说白了,是字符串缓冲区,Java里面的StringBuffer名字更恰当一些
    stringbuilde就是模仿StringBuffer的,两个都可以简称SB
      

  7.   

    也就是说建立stringbuilde的时候不入栈而是放在缓冲区里面吧!