Acho que não.. no meu exemplo o metod inc altera o valor da copia local de i ao fazer a atribuição i = new Integer(i.intValue()++); ou estou enganado? Novamente: em java, toda a passagem de parametros e por valor, inclusive quando usamos objetos como parametros... neste caso a referencia e passada por valor.
[]'s, Leonardo. ----- Original Message ----- From: "Gabriel De Munno Francisco" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Cc: "Leonardo Souza Mario Bueno" <[EMAIL PROTECTED]> Sent: Wednesday, October 03, 2001 8:27 PM Subject: Re: [java-list] Re: Artigo Java x C# Leornardo, Você está equivocado, no exemplo que você deu, o método não está alterando o objeto, está simplesmente imprimindo o resultado da chamada do método intValue() incrementado de 1, por isso não houve mudança no valor do objeto durante a chamada. Mas em Java, quando você passa um objeto, vc está passando uma referência. Gabriel At 17:36 03/10/2001 -0300, Leonardo Souza Mario Bueno wrote: >Nain, nain. Java não tem passagem por referencia nem para objetos. > >Ex: > > public void inc(Integer i) { > i = new Integer(i.intValue()++); > System.out.println("i = " + i); // i = 2 > } > > i = new Integer(1); > inc(i); > System.out.println("i = " + i); // i = 1 > >Resultado: > >i = 2 >i = 1 > >Ao chamar inc(i) é passada uma referencia ao objeto i por valor.. ou seja, >mudanças na referencia dentro do metodo não terão efeito fora dele.. > >[]'s, > >Leonardo. > >----- Original Message ----- >From: "Carlos E O Chierici" <[EMAIL PROTECTED]> >To: <[EMAIL PROTECTED]> >Sent: Wednesday, October 03, 2001 1:35 PM >Subject: Re: [java-list] Re: Artigo Java x C# > > > > A passagem de parametros em Java funciona assim: > > > > - P/ objetos: por referencia > > - P/ primitivos: por valor > > > > Veja o exemplo: > > > > public class Teste > > { > > public void run() > > { > > TObj obj = new TObj(); > > obj .i = 3; > > System.out.println(obj.i); // obj.i = 3 > > NovoInt(obj); > > System.out.println(obj.i); // obj.i = 5 > > } > > > > public void NovoInt(TObj meuObj) > > { > > meuObj.i = 5; > > } > > > > public static void main(String args[]) > > { > > Teste t = new Teste(); > > t.run(); > > } > > } > > > > class TObj > > { > > public int i; > > } > > > > > > []s > > > > Carlos E O Chierici > > [EMAIL PROTECTED] > > > > ----- Original Message ----- > > > > From: <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Wednesday, October 03, 2001 9:52 AM > > Subject: RE: [java-list] Re: Artigo Java x C# > > > > > > Sérgio, > > > > Eu gostaria de fazer uma pequena correção no seu email. > > > > Java não possui passagem por referência. Somente por valor. Existe uma >forma > > de "simular" passagem de parâmetros por referência, utilizando os objetos >ou > > tipos primitivos armazenados em um array, por exemplo. Mas não existe > > passagem por referência. > > > > Antes que o alguém dê pulinhos de alegria, eu pergunto: e qual é o >problema? > > Alguém por favor, apresente um artigo demonstrativo, baseado em testes de > > performance ou de algum requisito que mostre qual é o grandisíssimo >problema > > de Java utilizar passagem por valor, e não por referência? Mesmo que haja, > > isso significa que Java é ruim? > > > > Abraços, > > Denard > > > > > > ------------------------------ 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 > > 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 >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 para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------