Manipulação de String

6 respostas
I

Pessoal, para mainpular String em Java, como por exemplo:

String teste = "casa";

Para mim ‘pegar’ o 3 caractere eu preciso do charAt() correto?
Mas como Strings são imutáveis se for para fazer manipulações nesta String eu preciso de criar sempre outra nova?

Não existe uma maneira mais fácil para a Manipulação? Como por exemplo na Linguagem Object Pascal:

var x: string; x[0] = 'c'; x[1] = 'a';
Grato pessoal

6 Respostas

maquiavelbona
String str = "casa";
char[] arrayChar = str.toCharArray();
arrayChar[0] ="c";
...
str = new String(arrayChar);

String é um objeto, e não simplesmente um array de char, que nem parece no Object Pascal.

Até!

nbluis

Não…
se tu necessita disso tu pode utilizar StringBuilder que trata isso como um array de chars.

Até…

I

pessoal vlw, vai me ajudar mto não tinha conhecimento sobre isso

Magno_LC

nbluis:
Não…
se tu necessita disso tu pode utilizar StringBuilder que trata isso como um array de chars.

Até…

acredito q vá resolver seu problema sim, com StringBuilder

renzonuccitelli

utilize o método substring da classe String

jpacheco

Quando se fala em String ser imutavel, significa que o objeto que você criou não poderá mais ser alterado.

Por exemplo:

String obj = casa;

obj = obj+" grande";

obj = obj.toUperCase();

Todos estes exemplos são criações de objetos novos.
Quando se referenciou a String “casa” no primeiro momento, aconteceu a criação deste objeto.
logo após foi feita a concatenação da String o que gerou uma nova String que foi referencianda por obj.
Por ultimo obj recebeu obj convertido para maiusculo o que criou um novo objeto.

Ou seja sempre que se muda a string, é criada uma nova, e isso sim é o que significa uma String ser imutável.

Segue o link de um tutorial:

http://www.guj.com.br/article.show.logic?id=103

Abraço.

Criado 2 de março de 2007
Ultima resposta 19 de fev. de 2010
Respostas 6
Participantes 6