Po Leonardo nao pisa na bola cara.

>     public void inc(Integer i) {
>         i = new Integer(i.intValue()++);
se voce prestar aten��o no seu codigo vai ver que voc� cria uma nova
instancia
de um Integer nesta linha acima, perdendo assim completamente a referencia
que voc� passou na chamada.

Type wrappers n�o s�o uma boa op��o para demonstrar passagem por referencia
porque n�o permitem que voc� altere o valor embutido neles.
Que tal alguma coisa assim:

public class App {

  public App() {
  }

  public static void main(String[] args) {
    App app1 = new App();
    Inteiro inteiro = new Inteiro();
    inteiro.setValor(1);
    System.out.println("O valor do inteiro �:" + inteiro.getValor());
    inc(inteiro);
    System.out.println("O valor do inteiro �:" + inteiro.getValor());

  }

  public static void inc(Inteiro obj) {
     int novoValor = obj.getValor();
     novoValor = ++novoValor;
     obj.setValor(novoValor);
  }

}

class Inteiro {

  public Inteiro() {
  }

  private int valor;

  public int getValor() {
    return valor;
  }
  public void setValor(int valor) {
    this.valor = valor;
  }
}

Entao com isso provamos o que est� escrito em qualquer livro que preste:
Objetos em java s�o sempre passados por refer�ncia enquanto tipos primitivos
s�o passados por valor.

Um abra�o

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