Um dos princ�pios da class library da Java � a
imutabilidade das strings, ou seja, qualquer m�todo que
"altere" uma string na verdade retorna uma nova inst�ncia, que reflete a
altera��o.
por exemplo:
String x = "teste";
String y = x.replace('e',
'a');
teremos x igual a "teste" e y igual a
"testa".
Num m�todo:
void x(String y) {
y = y + "."; // nesse
momento y passa a referenciar uma nova inst�ncia e a original � preservada.
quando o m�todo for conclu�do o valor alterado ser� descartado.
}
----- Original Message -----
From: "Francisco Deisimar Jr." <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, July 16, 2002 2:03 PM
Subject: [enterprise-list] Passagem de
Parametros
Oi, j� estou trabalhando/estudando java a alguns meses e tinha uma id�ia bem definida sobre as passagens de parametros em java. Toda passagem de parametro � por valor, ou seja, sempre passo o conteudo da minha variavel. Se a variavel for do tipo primitivo(int, double, boolean...) ele passa seu conteudo propriamente dito. No caso de objetos � passado seu endere�o na mem�ria, sendo assim quando eu passo um objeto como paramentro e o modifico dentro de um metodo, quando ele finaliza eu tenho meu objeto modificado. No entanto hoje comecei a ter d�vidas sobre isso, pois passei uma String, modifiquei-a no m�todo e ela n�o foi alterada no trecho de c�digo que chamou o m�todo. Ser� que eu entendi tudo errado? ou String � tratado como uma vari�vel primitiva?
Agrade�o antecipadamente pelos coment�rios e explica��es
===========================================
Francisco Deisimar Nobre J�nior
Analista de Sistemas - CIT - M. Dias Branco
===========================================
---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: [EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]
