如何克隆() StringBuilder
2022-09-03 01:02:57
有没有办法克隆StringBuilder?我正在按位读取文件,然后将这些位转换为ASCII字符,然后我将字符收集到字符串生成器中,例如当我有8个字符时,我将该字符串生成器对象放入数组列表中。然后我清洁它,然后再次做同样的事情。但是,由于内存的原因,我无法创建新的字符串生成器,并且我无法对该字符串生成器进行更改,因为在数组列表中,该生成器也会更改。
所以我认为我必须克隆那个字符串生成器并将其放入数组列表中。只有一个问题 String Builder 没有 clone()。那么我的替代方案是什么?
也许有人可以给出一些想法,考虑到性能和内存,什么是做到这一点的巧妙方法。
数组列表字符 = 新的数组列表();整型计数器 = 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;