我要将stringBuffer的对象的引用作为参数传到程序里,要在程序里面对该对象进行修改,但是stringBuffer好象只能加不能减。如果new一个新的,也仅仅是改掉了copy的引用而已,那样根本无法传出。哪位仁兄有好的建议。

解决方案 »

  1.   

    stringBuffer = new  StringBuffer("") ;
      

  2.   

    不能new,如果new一个新的,也仅仅是改掉了copy的引用而已,那样根本无法传出。
    楼上的根本没有看懂我的问题。
      

  3.   

    不是有个public synchronized StringBuffer delete(int start, int end) 方法么
      

  4.   

    用StringBuffer.delete(int,int)方法
      

  5.   

    哦对了,用这个可以sb.setLength(0);
      

  6.   

    作为实参,引用是绝对不能改变的。
    如果stringBuffer = new  StringBuffer("");的话,引用就改变了。
      

  7.   

    stringBuffer.delete(0,stringBuffer.length());
      

  8.   

    看了一下jdk srcStringBuffer类内部维护一个 char[] valuesetLength(0) 被调用后本质上执行count = 0; // 长度计数器  是 int length() 的返回值// If newLength is zero, assume the StringBuffer is being
    // stripped for reuse; Make new buffer of default size
    value = new char[16];
    shared = false;u see,it makes new buffer with default size 16 for reuse.
      

  9.   


    StringBuffer bf = new StringBuffer();  bf.delete(0,bf.length());

      bf.replace(0,bf.length(),"");