tah maluco? onde tu leu isso?

henrique

On Wed, 6 Nov 2002, Denard Costa Soares wrote:

> Galera,
>  
> Em java, não existe passagem por referência, é sempre por valor. Sem exceção.
> Tipos primitivos ou não, é por valor.
>  
> Abraços,
> Denard C. Soares
> ----------------------------------------------------------------
> Se você não perde cabeça quando todos ao redor já perderem, talvez você apenas não 
>esteja entendendo a situação.
> -----------------------------------------------------------------
>  
> -----Original Message-----
> From: Mário Roberto Porto Filho [mailto:mario@;cmagnani.com.br] 
> Sent: quarta-feira, 6 de novembro de 2002 13:23
> To: [EMAIL PROTECTED]
> Subject: RES: [java-list] Duvida sobre atribuicao de objetos...
>  
> Concordo com o Carlos..........é uma questão perigosa e todo mundo sempre confunde, 
>é normal até !!!
> Mas em Java todos os objetos são passados por referência ( Para passar o valor, deve 
>se utilizar o método clone() de java.lang)...
> Os tipos básicos são passados por valor, mesmo vetores de tipos básicos passam seu 
>valor e não sua referência !!!....
> Até mais !!!!
> -----Mensagem original-----
> De: Carlos Eduardo Carvalho [mailto:carlosetc@;unitech.com.br]
> Enviada em: terça-feira, 5 de novembro de 2002 08:29
> Para: [EMAIL PROTECTED]
> Assunto: Re: [java-list] Duvida sobre atribuicao de objetos...
> Jonatan,
>  
> Essa é uma afirmação perigosa de ser feita. Não sei se a passagem de parâmetros em 
>Java seria exatamente por valor, ao invés de por referência. Nesse mesmo exemplo que 
>você citou na mensagem abaixo, pode ser simulada uma situação onde fica clara essa 
>contradição.
>  
> Vamos supor que tenhamos dois métodos, executar() e metodoAtribuicao(), como seguem 
>abaixo.
>  
> public void executar() {
>     MeuBean a = new MeuBean();
>     MeuBean b = new MeuBean();
>  
>     a.setNome("Teste Atribuicao");
>  
>     metodoAtribuicao(a, b);
>  
>     System.out.println("Bean A: "+a.getNome()); // A impressão na console da
>     System.out.println("Bean B: "+b.getNome()); // aplicação terá o mesmo valor
> }
>  
> public void metodoAtribuicao(MeuBean a, MeuBean b) {
>     b.setNome(a.getNome());
> }
>  
> A partir desta justificativa creio que seja mais correto dizer que a passagem de 
>parâmetros de objetos em métodos seja por referência, enquanto que a passagem de 
>parâmetros de tipos básicos do java em métodos seja por valor. É uma questão meio 
>confusa de se afirmar, mas se estiver errado, corrijam-me!
>  
> Falou!
>  
> Carlos Eduardo Teixeira Carvalho
> Analista de Sistemas - Fábrica de Software
> Unitech Tecnologia de Informação
> ----- Original Message ----- 
> From: Jonatan Schroeder <mailto:jona.s@;uol.com.br>  
> To: [EMAIL PROTECTED] ; Sr. <mailto:sr_apocalipse@;yahoo.com.br>  Apocalipse 
> Sent: Monday, November 04, 2002 7:09 PM
> Subject: Re: [java-list] Duvida sobre atribuicao de objetos...
>  
> A passagem de parâmetros em java é por valor, e não por referência. Então, 
>  
> public void metodo_atribuicao(Object a, Object b) {
>     a = b;
> }
> não tem efeito algum. O objeto 'a' é passado ao método, mas quando você faz a 
>atribuição, você está fazendo com que o parâmetro a seja alterado, ou seja, ele deixa 
>de apontar para o local em que foi definido na chamada do método e passa a apontar 
>para o local do objeto b.
> 
> ---
> Jonatan Schroeder
> [EMAIL PROTECTED]
>  
>  
> ----- Original Message ----- 
> From: Sr. Apocalipse <mailto:sr_apocalipse@;yahoo.com.br>  
> To: [EMAIL PROTECTED] ; [EMAIL PROTECTED] 
> Sent: Monday, November 04, 2002 2:22 PM
> Subject: [java-list] Duvida sobre atribuicao de objetos...
>  
> Galera,
> Eu gostaria que alguém me esclarecesse o seguinte ocorrido.
> Eu queria fazer uma atribuicao de dois objetos dentro de um metodo e nao
> consegui, quando retorna do metodo a atribuicao é desfeita. Fora do metodo a
> atribuicao ocorre e um "aponta" para o outro.
> O exemplo está abaixo:
> 
> public void teste(){
> 
>    Object a, b;
> 
>    a = new Vector();
>    b = new Date();
> 
>    metodo_atribuicao(a, b);
>    // Apos o metodo_atribuicao, o objeto a nao esta "apontando" para o
> objeto b
>   // ou seja, o objeto a continua como Vector e o objeto b como Date.
> 
>   a = b;
>   // Agora sim o objeto a "aponta" para o objeto b
>   // ou seja, o objeto a agora é Date e o objeto b tambem
> }
> 
> public void metodo_atribuicao(Object a, Object b) {
>     a = b;
> }
> 
> _______________________________________________________________________
> Yahoo! GeoCities
> Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e acessórios.
> http://br.geocities.yahoo.com/
> 
> ------------------------------ LISTA SOUJAVA ---------------------------- 
> http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP 
> dúvidas mais comuns: http://www.soujava.org.br/faq.htm
> regras da lista: http://www.soujava.org.br/regras.htm
> historico: http://www.mail-archive.com/java-list%40soujava.org.br
> para sair da lista: envie email para [EMAIL PROTECTED] 
> -------------------------------------------------------------------------
> 


------------------------------ LISTA SOUJAVA ----------------------------
http://www.soujava.org.br  -  Sociedade de Usuários Java da Sucesu-SP
dúvidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------

Responder a