Tudo bem,

Mas daí você cai no caso da classe imutável já explicado num email na lista... O objeto Integer é "public final class Integer"

Por isso, você não pode alterar o valor, somente criando um novo objeto...

Gabriel


At 20:51 03/10/2001 -0300, Leonardo Bueno wrote:
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]
>-------------------------------------------------------------------------

Responder a