De uma olhada no seu codigo. Ele nao funciona.

Nao dah p/ fazer:

i.intValue()++

Alem disso vc esta criando um novo objeto dentro do metodo "inc". Entao,
mesmo que o codigo acima funcionasse, como vc espera trabalhar no objeto
recebido como parametro se vc esta trabalhando em um novo objeto que vc
acabou de criar?

Enfim, nao serve como exemplo de passagem de parametros por referencia.

Experimente o codigo que enviei e vc vera que java passa objetos por
referencia e primitivos por valor.


[]s

Carlos E O Chierici
[EMAIL PROTECTED]


----- Original Message -----
From: "Leonardo Souza Mario Bueno" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, October 03, 2001 5:36 PM
Subject: Re: [java-list] Re: Artigo Java x C#


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

Responder a