Manipulando Strings

6 respostas
R

Fala pessoal, tudo em paz??

Seguinte…procurei na API mas nao achei…existe algum método da classe String que copia o conteudo de uma String para outro? Podemos fazer isso em Java, assim como é feito em C, por exemplo??
O método .clone() pode ser considerado?

Obrigado a todos!

ate mais…

6 Respostas

R

String s1 = “AAA”;
String s2 = new String(s1);

Rafael

T

“richardpeder”:
Fala pessoal, tudo em paz??

Seguinte…procurei na API mas nao achei…existe algum método da classe String que copia o conteudo de uma String para outro? Podemos fazer isso em Java, assim como é feito em C, por exemplo??


A solucao do Rafael realmente faz uma copia do string, porem acho que isso nao seja necessario para voce. Vou tentar explicar o por que.

A linguagem C nao possui um String propriamente dito, somente uma cadeia de caracteres terminadas por pelo caractere 0. Deste modo , se voce simplesmente usa o operador de atribuicao, na verdade voce fica com dois ponteiros para a mesma cadeia de caracteres, e se voce mudar em uma a outra eh diretamente afetada.

No java, por sua vez, o String eh um tipo IMUTAVEL. Voce nao consegue mudar o 3o caractere da cadeia e ter todas as referencias delas alteradas. Ate porque voce nao consegue fazer algo do tipo: a[3]=‘b’; em java, sendo a variavel a um string.

Caso voce queira em java um objeto semelhante ao comportamento da cadeia de caractere do C, voce deve usar o StringBuffer.

O metodo clone nao eh uma opcao direta, ate porque sua interface nao eh publica e sim protected

R

pessoal…

valeu pelas respostas…
essa forma de passar o conteudo de uma para outra eu ja sabia, perguntei se tem como fazer isso via método, entendem?
tem como??

obrigado

ate mais…

U

não tem, por que como foi explicado, não existe necessidade disto.

R

ok Urubatan

foi mais ou menos isso que eu havia pensado!!

obrigado a todos!

ate mais…

N

Richard,

A classe StringBuffer tem muitos métodos que você pode usar para manipular Strings, por exemplo para copiar uma String em um vetor de char’s:

getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 
//From API: Characters are copied from this string buffer into the destination character array dst.

Tem também métodos de delete, insert, replace e muitos outros, vale a pena dar uma olhada.

:wink:

Criado 14 de junho de 2003
Ultima resposta 17 de jun. de 2003
Respostas 6
Participantes 5