Je n'ai vérifier les autres questions; cette question a son accent sur la résolution de cette question en particulier, la manière la plus efficace.
Parfois, vous voulez créer une nouvelle chaîne avec une longueur spécifiée, et avec un caractère par défaut de remplissage de l'ensemble de la chaîne.
c'est à dire, ce serait cool si vous pouviez faire new String(10, '*')
et de créer une nouvelle Chaîne à partir de là, avec une longueur de 10 caractères, tout en ayant une *.
Parce que ce constructeur n'existe pas, et vous ne pouvez pas étendre de Chaîne, vous devez soit créer une classe wrapper ou une méthode pour le faire pour vous.
En ce moment, je suis en utilisant ceci:
protected String getStringWithLengthAndFilledWithCharacter(int length, char charToFill) {
char[] array = new char[length];
int pos = 0;
while (pos < length) {
array[pos] = charToFill;
pos++;
}
return new String(array);
}
Il manque encore de tout vérifier (c'est à dire lorsque la longueur est de 0, cela ne fonctionnera pas). Je suis de la construction de la matrice d'abord parce que je crois qu'il est plus rapide que l'utilisation de la chaîne de concatination ou à l'aide d'un StringBuffer de le faire.
Quelqu'un d'autre a une meilleure solution?