Como incluir caractere em String

4 respostas
M

Boa tarde caros colegas,

minha dúvia é a seguinte:

String s = “012346789”; bem aqui eu tenho uma string e na sequencia falta o 5;

o que procuro é um método que faça o seguinte:
s.adicionaCaractere(6, 5); onde o primeiro parametro é a posição do caractere a ser inserido e o segundo o valor do caractere.
e a saida:
“0123456789”

bem, alguem sabe se algo parecido existe? eu tive a ideia de quebar a string e concatenar tudo, mas logo percebi que isso é gambiarra feia, e logo que meu app vai fazer essa colocação dezenas de milhares de vezes. então eu preciso de um método muuuito rápido.

Aguardando ansioso…

4 Respostas

A

oi

dá uma olhada no método indexOf da String, ele vai te trazer a posição do caractere ‘4’, ai você insere na proxima

T

Se não for trabalho para faculdade você pode usar o método insert da classe StringBuilder

public class Class1 {
    public static void main(String[] args) {
        StringBuilder sb = new StringBuilder("12356");
        sb = sb.insert(3,4);
        System.out.println(sb.toString());
    }
}

Agora, se for para você fazer isso, bom, terá que usar o método indexOf para descobrir em qual posição você quer inserir e depois usar o método substring!
Faz uns testes qualquer dúvida posta aí!

T

Makoto-san, a rigor a classe String é invariável, portanto você não pode modificar uma string. Entretanto, sempre se pode criar uma nova string a partir de uma outra, como o Thiago Correa mostrou.

M

bom, fiz uns testes aqui e os métodos citados realmente fizeram o que eu precisava. agora vou fazer umas alterações no aplicativo e ver qual o nível de perda de desempenho usando os dois métodos. Mais tarde postarei os resultado.

Obrigado pessoal… :smiley:

Criado 25 de junho de 2009
Ultima resposta 25 de jun. de 2009
Respostas 4
Participantes 4