Можно ли использовать один StringBuilder для создания нескольких строк в Java?
Вы можете повторно использовать одну и ту же ссылку на StringBuilder
, чтобы создать столько строк, сколько вам нужно, но каждый новая строка перезапишет старую строку в ней. StringBuilder
не является контейнерным классом. Вам нужен контейнерный класс для хранения нескольких экземпляров String
. Ниже приведен пример:
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String args[]) {
StringBuilder sb;
List<StringBuilder> list = new ArrayList<StringBuilder>();
sb = new StringBuilder("Hello");
list.add(sb);
sb = new StringBuilder("World");
list.add(sb);
System.out.println(sb);// Only the last value sb is constructed with
System.out.println(list);// All the values added to list
}
}
Вывод:
World
[Hello, World]
Обратите внимание, что вы можете объединить строки в одну строку, но они не будут дифференцируема. Даже если вам удастся разграничить их, поместив между ними какие-то разделители, их будет очень сложно и подвержено ошибкам.