Bonjour, j'ai la méthode suivante pour afficher une ligne de promotion lorsque je commente un 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();
}
Mais quand je l'obtiens, j'obtiens watchonyoutube: mickeyendestomendedrol, qui est sans espaces. Comment obtenir des espaces dans mon Stringbuilder?
À partir de JDK 1.8, vous pouvez utiliser un StringJoiner
, ce qui est plus pratique dans votre cas:
StringJoiner
est utilisé pour construire une séquence de caractères séparés par un délimiteur et éventuellement commençant par un préfixe fourni et se terminant par un suffixe fourni.
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();
De cette façon, vous n'aurez pas besoin d'ajouter ces espaces "manuellement".
Il suffit d’appeler builder.append(" ")
à l’emplacement de votre choix.
Par exemple.
builder
.append("watch")
.append(" ")
.append("on")
...etc.
NB:
Une façon plus propre de le faire.
Créez une variable de classe:
private static final String BLANK_SPACE=" ";
Maintenant, dans votre code StringBuilder, ajoutez-le si nécessaire:
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());
Un espace est seulement une chaîne contenant l'unique caractère caractère espace .
Ainsi, vous pouvez l'ajouter exactement comme si vous ajoutiez une autre chaîne.
StringBuilder builder = new StringBuilder();
builder.append("watch");
builder.append(" ");
builder.append("on");
builder.append(" ");
// and so on
Rappelez-vous également que la méthode append renvoie le StringBuilder afin qu'il soit possible de joindre des annexes les unes après les autres comme suit
StringBuilder builder = new StringBuilder();
builder.append("watch").append(" ");
builder.append("on").append(" ");
// and so on