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] -------------------------------------------------------------------------
