Ol� Francisco,

Vc n�o conseguiu modificar o conte�do do objeto tipo String pq os objetos
dessa classe, e das classes wrappers dos tipos primitivos (Integer,
Double,...), s�o imut�veis, isto �, uma vez criados, seu valor n�o � mais
modificado.
Por exemplo, no caso de String's, o m�todo substring n�o altera sua string
origial, mas volta um novo objeto String.

Lembre-se tb que que as refer�ncias de objetos passados como param�tros s�o
passadas por c�pia, isso quer dizer que n�o adianta vc modificar a
refer�ncia de um par�metro dentro de um m�todo, pois ela � apenas uma c�pia.


public void foo(String a) {
  String b = "abc";
  a = b; // Ao retornar, foo NAO tera modificado a refer�ncia da string a.
}

[],

Coelho

> -----Original Message-----
> From: Francisco Deisimar Jr. [mailto:[EMAIL PROTECTED]]
> Sent: ter�a-feira, 16 de julho de 2002 14:03
> To: [EMAIL PROTECTED]
> 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]
> 

---------------------------------------------------------------------
Para cancelar a subscri��o, envie mensagem para: 
[EMAIL PROTECTED]
Para comandos adicionais, envie mensagem para: [EMAIL PROTECTED]

Responder a