Y a-t-il un moyen simple d'ajouter un caractère ou une autre chaîne n fois à une chaîne existante? Je n'ai rien trouvé dans String
, Stringbuilder
, etc.
Voir aussi: stackoverflow.com/a/4903603/59087
Y a-t-il un moyen simple d'ajouter un caractère ou une autre chaîne n fois à une chaîne existante? Je n'ai rien trouvé dans String
, Stringbuilder
, etc.
Apache commons-lang3
contient StringUtils.repeat(String, int)
, avec cela vous pouvez faire (pour la simplicité, pas avec StringBuilder
):
String original;
original = original + StringUtils.repeat("x", n);
Comme c'est open source, vous pouvez lire comment c'est écrit. Il y a une optimisation mineure pour de petits n-s si je me souviens bien, mais la plupart du temps cela utilise StringBuilder
.
Pour le cas de la répétition d'un seul caractère (pas une chaîne de caractères), vous pourriez utiliser Arrays.fill:
String original = "original ";
char c = 'c';
int number = 9;
char[] repeat = new char[number];
Arrays.fill(repeat, c);
original += new String(repeat);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
3 votes
Quel est le problème avec une boucle
for
?1 votes
Cherchez-vous une méthode? il n'y en a pas.
2 votes
Je n'ai rien trouvé dans String, Stringbuilder ... Je suis sûr que vous n'avez pas vu la méthode
append(str)
deStringBuilder
ou l'opération de concaténation+
deString
.1 votes
Oui pour une seule méthode ou une chaîne de méthodes, j'aimerais éviter la boucle ;)
1 votes
N'importe la méthode que vous utilisez utilisera une boucle pour vous. Vous pouvez écrire une telle méthode vous-même.
5 votes
Bien sûr, cela utilise une boucle, mais je ne crée pas mes propres méthodes s'il en existe déjà.
0 votes
Connexe : stackoverflow.com/questions/1235179/…