Есть ли способы, как я могу клонировать StringBuilder?Я читаю файлы по битам, а затем преобразую эти биты в символы ASCII, после чего собираю символы в String Builder, а когда у меня есть, например, 8 символов, я помещаю этот объект String Builder в список массивов.Затем я чищу его и снова делаю то же самое.Однако я не могу создать новый построитель строк из-за памяти, и я не могу вносить изменения в этот String Builder, потому что в Array List также этот строитель меняется.
Так что я думаю, что мне нужно клонировать этот String Builder и поместитьэто в список массивов.Есть только одна проблема: в String Builder нет clone ().Итак, какие у меня есть альтернативы?
Может быть, кто-нибудь мог бы дать некоторые идеи, как сделать это аккуратно, учитывая производительность и память.
ArrayList characters = new ArrayList ();int counter = 0;
StringBuilder sb = new StringBuilder(blockSize-1);
while (mbb.hasRemaining()) {
char charAscii = (char)mbb.get();
counter++;
charCounter++;
if (counter == blockSize){
sb.append(charAscii);
characters.add(sb);//sb.toString()
sb.delete(0, sb.length());
counter = 0;
}else{
sb.append(charAscii);
}
if(!mbb.hasRemaining()){
characters.add(sb);
}
}
fc.close();
return characters;