Очистка строкового буфера/разработчика после цикла

Как Вы очищаете строковый буфер в Java после цикла, таким образом, следующее повторение использует ясный строковый буфер?

110
задан shmosel 16 January 2018 в 23:20
поделиться

3 ответа

Один из вариантов - использовать метод delete следующим образом:

StringBuffer sb = new StringBuffer();
for (int n = 0; n < 10; n++) {
   sb.append("a");

   // This will clear the buffer
   sb.delete(0, sb.length());
}

Другой вариант (немного чище) использует setLength(int len):

sb.setLength(0);

Смотрите Javadoc для дополнительной информации:

130
ответ дан 24 November 2019 в 03:14
поделиться
buf.delete(0,  buf.length());
5
ответ дан 24 November 2019 в 03:14
поделиться

Я предлагаю создавать новый StringBuffer (или еще лучше StringBuilder) для каждой итерации. Разница в производительности действительно незначительна, но ваш код будет короче и проще.

5
ответ дан 24 November 2019 в 03:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: