こんにちは私は一言コメントボックスにコメントするときにプロモーション行を表示する次のメソッドがあります。
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でスペースを取得するにはどうすればよいですか?
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")
...等。
注意:
それを行うためのよりクリーンな方法。
クラス変数を作成します。
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