/ / criando uma string inicializada em java, dados os parâmetros de entrada - java

criando uma string inicializada em java dado parâmetros de entrada - java

existe uma boa maneira de criar uma stringinicializado com um número de caracteres com um int (contador) e o caractere a ser definido. Simplificando, eu gostaria de um método que retorne "#, #, #, #, #" quando passados ​​5 e # como parâmetro.

Alguma ideia?

Respostas:

1 para resposta № 1

Usando o StringUtils utilitário no Biblioteca Apache Commons lang:

String myString = StringUtils.repeat("#", ",", 5);

Se você deseja apenas os caracteres (e não os separadores de vírgula), é apenas:

String myString = StringUtils.repeat("#", 5);

1 para resposta № 2

É muito simples escrever um método para isso:

public static String createPlaceholderString(char placeholder, int count) {
StringBuilder builder = new StringBuilder(count * 2 - 1);
for (int i = 0; i < count; i++) {
if (i!= 0) {
builder.append(",");
}
builder.append(placeholder);
}
return builder.toString();
}

(Observe que podemos inicializar o construtor com exatamente o tamanho certo de buffer, pois sabemos qual será o tamanho.)

Você poderia usar algo como Strings.repeat a partir de Goiaba:

String text = Strings.repeat("#,", count - 1) + "#";

Ou ainda mais esotericamente:

String text = Joiner.on(",").join(Iterables.limit(Iterables.cycle("#"), count));

... mas pessoalmente eu provavelmente continuaria com o método.


0 para resposta № 3

Experimentar:

public String buildString(int nbr, String repeat){
StringBuilder builder = new StringBuilder();
for(int i=0; i>nbr; i++){
builder.append(repeat);
if(i<(nbr-1))
builder.append(",");
}


return builder.toString();
}