Concatenação de Strings?

Olá galera gostaria de saber se já tenho pronto na classe String uma método que concatene pra mim caracteres (no meu caso espaços)como esse método statico que implementei ? será que reinventei a roda?[code]
static public String ModificaString (String palavra ){
if ( palavra.length()< 22){
int tamanho = 0;
String Space =" “;
tamanho = 22 - palavra.length();
for(int i = 0 ; i < tamanho;i++){
Space = Space+” ";
}
palavra = palavra.concat(Space);
}

	 return palavra;
}[/code]

o tamanho eu defini como 22 mas esse tamanho pode ser generico se colocamos ele na chamada do metodo !!!
Um abraço a todos e obrigado pela atenção. :lol:

Em que caso você vai utilizar esse método?

Eu tenho uma variavel que pode variar de tamanho até 22 e preciso concatena -la com com uma label fixa , para que essa label sempre fique no mesmo lugar no meu relatório eu tive que implementar esse método por que senão ela ficaria em locais diferentes prejudicando assim o alinhamento que tenho no layout desse relatorio .

ex:

palavracomprida  labelfixa;
palavracurta     labelfixa;--> sempre alinhando label com label na mesma posição  mesmo que a palavra seja menor ;
                    |
                    |
                  alinhamento

Mas é só marcar a opção de centralizado, isso ai é gambi :smiley:

Você está usando o IReport?

[quote=marcio_gs]Mas é só marcar a opção de centralizado, isso ai é gambi :smiley:

Você está usando o IReport?[/quote]
Eu estou criando o relatório para exibir em um frame html e por isso crio uma lista de Strings , e passo essa lista pela Session e quem recebe ela é uma jsp . Eu poderia usar IReport mas por se tratar de uma manutenção não posso mudar as caracteristicas do projeto !!!

Entendi… Bom, procurei na API e não encontrei um método que faça algo assim, pelo menos na classe String.

Você quer completar com brancos à direita, não? Use String.format.

Exemplo:

String campo1 = "Jose";
String campo2 = "Aparecido";
String s = String.format ("%-20.20s | %-15.15s", campo1, campo2);

Isto vai mostrar a seguinte string: (pus uns dígitos acima só para ficar mais fácil de acompanhar):

12345678901234567890 | 123456789012345
Jose                 | Aparecido

Note que o sinal de “-” serve para deixar alinhado à esquerda (se você omitisse o sinal, ficaria alinhado à direita), “s” serve para indicar que quero imprimir uma String (ou algum objeto, via toString()) , “.20” quer dizer que devem ser impressos no máximo 20 caracteres, e “20” quer dizer que devem ser impressos no mínimo 20 caracteres. Como escrevi “20.20” isso quer dizer que quero que sejam impressos exatamente 20 caracteres, mesmo que seja necessário o truncamento.

Se você não pode truncar a string (se ficar maior pode ficar desalinhado), então você pode usar “%-20s”.

rs rs rs é eu tambem , bom em todo caso funciona !! o que eu fiz mas se pudesse usar uma da propria API seria bem melhor !!! Valeu pela ajuda !!!
Abraço !!! se vc achar algo posta pra eu testa!! Vlw

[quote=thingol]Você quer completar com brancos à direita, não? Use String.format.

Exemplo:

String campo1 = "Jose";
String campo2 = "Aparecido";
String s = String.format ("%-20.20s | %-15.15s", campo1, campo2);

Isto vai mostrar a seguinte string: (pus uns dígitos acima só para ficar mais fácil de acompanhar):

12345678901234567890 | 123456789012345
Jose                 | Aparecido

Note que o sinal de “-” serve para deixar alinhado à esquerda (se você omitisse o sinal, ficaria alinhado à direita), “s” serve para indicar que quero imprimir uma String (ou algum objeto, via toString()) , “.20” quer dizer que devem ser impressos no máximo 20 caracteres, e “20” quer dizer que devem ser impressos no mínimo 20 caracteres. Como escrevi “20.20” isso quer dizer que quero que sejam impressos exatamente 20 caracteres, mesmo que seja necessário o truncamento.

Se você não pode truncar a string (se ficar maior pode ficar desalinhado), então você pode usar “%-20s”.
[/quote]
Valeu vou testar !! valeu pela força!!

Deu certo , rs rs rs reiventei a roda sem precisar !!! Valeu galera!!!

Me corrija se eu estiver errado, vc quer preencher o final da String com espaços em branco?

Fiz um código com o metodo concat. Vc apenas deve trocar o “.” por " "

Fiz com o ponto para vizualizar o resultado.

static public String ModificaString(String palavra) {       
        for (int i = 0; i < 22 - palavra.length(); i++) {
            palavra = palavra.concat(".");
        }
        return palavra;
    }