Acho que para alterar o valor interno da classe vc teria que acessar o tipo
básico int dentro da classe e efetuar essa operação:

tente o seguinte codigo:

i = new Integer(1);
System.out.println("i = " + i); // i = 1
i.intValue()++;
System.out.println("i = " + i); // Acredito que retornará i = 1

Não testei apenas acho que teoricamente seria assim.

> -----Mensagem original-----
> De: Leonardo Bueno [mailto:[EMAIL PROTECTED]]
> Enviada em: quarta-feira, 3 de outubro de 2001 20:52
> Para: [EMAIL PROTECTED]; Gabriel De Munno Francisco
> Assunto: Re: [java-list] Re: Artigo Java x C#
>
>
> 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]
> -------------------------------------------------------------------------
>



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