Manipulando Strings

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…

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

Rafael

[quote=“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??
[/quote]
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

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…

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

ok Urubatan

foi mais ou menos isso que eu havia pensado!!

obrigado a todos!

ate mais…

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: