2012-07-03 2 views
0

Я объявил две строки буфера, как,андроид скопировать StringBuffer

private StringBuffer buf = new StringBuffer(1024); 
private StringBuffer bufRetro = new StringBuffer(1024); 

на следующий код перед bufRetro = ЬиЕ, ЬиЕ имеет правильное значение заполнения. Однако, после копирования, у обоих нет контента. Как установить один stringBuffer из другого? Спасибо.

if(this.v_Id){ 

    buf.append(ch, start, length); 

    if (bufType.equals(bufOld)){ 

     buf = bufRetro.append(buf); 

    } 

    myParsedXMLDataSet.setId(buf.toString()); 

    bufOld = bufType; 

    bufRetro.delete(0, bufRetro.length()); 
    bufRetro = buf; 

    Log.d("id", buf.toString()); 

    buf.delete(0, buf.length()); 
+1

Вы выполняете * много * операций здесь - и присвоение каждой переменной в другую. Создайте * короткий, но полный * пример, который * только * показывает бит, который вас путает. –

+0

У меня также есть проблемы с этим кодом .... Из первоначальной проверки кажется, что вы теряете ссылку на «buf» StringBuffer в строке «buf = bufRetro.append (buf)»; – Chris

ответ

0

Как установить один StringBuffer от другого?

Как насчет

bufRetro.setLength(0); // copy content from buf to bufRetro 
bufRetro.append(buf); 

buf.setLength(0);  // if you want to clear the original one.