如何在stringbuilder中放置空格

时间:2016-01-26 12:29:57

标签: java string 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 个答案:

答案 0 :(得分:28)

从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();

这样,您就不需要手动添加这些空格"。

答案 1 :(得分:5)

只需在您偏好的位置调用builder .append("watch") .append(" ") .append("on") 即可。

E.g。

{{1}}

...等

注意:

  • 为方便起见,请使用流利的构建器语法
  • 您也可以在每个文字之后添加一个空格(保存为最后一个)

答案 2 :(得分:2)

更清洁的方式。

创建一个类变量:

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());

答案 3 :(得分:1)

空格包含单个字符空格的字符串。

所以你可以完全追加它作为附加任何其他字符串。

    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