Как поместить пробелы в stringbuilder
Привет у меня есть следующий метод для отображения строки продвижения, когда я комментирую shoutbox:
public String getShoutboxUnderline(){
StringBuilder builder = new StringBuilder();
builder.append("watch");
builder.append("on");
builder.append("youtube");
builder.append(":");
builder.append("Mickey");
builder.append("en");
builder.append("de");
builder.append("stomende");
builder.append("drol");
return builder.toString();
}
но когда я его получаю, я получаю watchonyoutube: mickeyendestomendedrol, который без пробелов. Как получить пробелы в моем Stringbuilder?
4 ответов
С JDK 1.8, вы можете использовать StringJoiner
, что более удобно в вашем случае:
StringJoiner
используется для построения последовательности символов, разделенных с помощью разделитель и дополнительно начиная с указанного префикса и окончание прилагаемым суффиксом.
StringJoiner joiner = new StringJoiner(" "); // Use 'space' as the delimiter
joiner.add("watch") // watch
.add("on") // watch on
.add("youtube") // watch on youtube
.add(":") // etc...
.add("Mickey")
.add("en")
.add("de")
.add("stomende")
.add("drol");
return joiner.toString();
таким образом, вам не нужно будет добавлять эти пробелы "вручную".
просто вызвать builder.append(" ")
в месте вашего предпочтения.
Э. Г.
builder
.append("watch")
.append(" ")
.append("on")
...так далее.
NB:
- использование синтаксиса fluent builder здесь для удобства
- вы также можете просто добавить пробел после каждого литерала (за исключением последнего)
более чистый способ сделать это.
создайте переменную класса:
private static final String BLANK_SPACE=" ";
теперь в Вас StringBuilder код, добавьте его, где это необходимо:
StringBuilder builder = new StringBuilder();
builder.append("watch");
builder.append(BLANK_SPACE);
builder.append("on");
builder.append("youtube");
builder.append(":");
builder.append(BLANK_SPACE);
builder.append("Mickey");
builder.append("en");
builder.append("de");
builder.append(BLANK_SPACE);
builder.append("stomende");
builder.append("drol");
System.out.println(builder.toString());
пробел только строка, содержащая один символ пробел.
таким образом, вы можете добавить его точно так же, как добавление любой другой строки.
StringBuilder builder = new StringBuilder();
builder.append("watch");
builder.append(" ");
builder.append("on");
builder.append(" ");
// and so on
Помните также, что метод append возвращает StringBuilder, поэтому можно присоединиться к добавлениям один за другим, как показано ниже
StringBuilder builder = new StringBuilder();
builder.append("watch").append(" ");
builder.append("on").append(" ");
// and so on