Lincolm.
Note que n � uma refer�ncia para um Object[][]. Esta � refer�ncia � passada
por valor, mas voc� obtem o objeto dela. A ref�ncia n�o pode ser altera, mas
o objeto sim.
O que voc� fez foi alterar o objeto. Mais especificamente a posi��o [0][1].
N�o h� problemas nisso. Mas se voc� desejasse alterar a refer�ncia, fazendo
seu par�metro n apontar para outra matriz, seria imposs�vel. OK?
Basta testar este c�digo:
void method (String s[])
{
s[0] = "Novo";
s = {"Mais novo ainda!"};
}
abra�os
Jorge
-----Original Message-----
From: Lincolm Ferreira de Aguiar [mailto:[EMAIL PROTECTED]]
Sent: segunda-feira, 4 de fevereiro de 2002 15:04
To: [EMAIL PROTECTED]
Subject: Re: RES: [java-list] Como � feita a passagem de par�metros em
Java?
Ol� Jorge. Voc� rodou aquele c�digo? Pergunto porque eu queria saber porque
a segunda posi��o da matriz imprime Aguiar onde deveria
imprimir Ferreira. Execute o c�digo e vai entender o que estou falando. No
m�todo objects() � sim criado uma nova matriz, mas note
que n�o estou imprimindo ela, estou imprimindo a matriz names. Por que a
matriz names tem seu �ndice names[0][1] tem seu valor
alterado para Aguiar se na verdade eu alterei n[0][1]?
Um abra�o,
Lincolm Ferreira de Aguiar
WebMaster - QueroProgramar
[EMAIL PROTECTED]
www.geocities.com/lincolmf
----- Original Message -----
From: "Jorge Martins" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, February 04, 2002 2:02 PM
Subject: RE: RES: [java-list] Como � feita a passagem de par�metros em Java?
Quer ter seu pr�prio endere�o na Internet?
Garanta j� o seu e ainda ganhe cinco e-mails personalizados.
Dom�niosBOL - http://dominios.bol.com.br
Lincolm,
N�o h� incoer�ncia no seu exemplo. A passagem de par�metros em java continua
sendo por valor.
Quando voc� passa um array em java. A refer�ncia para este array � passada
por valor. Logo, voc� pode alterar o array (como voc� alterou no seu
exemplo) por que oum array permite esta opera��o.
No entanto, n�o � possui criar trocar o array passado.
Se os par�metro do java fossem por valor, este m�todo funcionaria:
void method (String [] array)
{
array = {"Eu", "sou", "um", "novo", "array"};
}
O que voc� fez foi simplesmente alterar um valor do array, e isto �
permitido. N�o � permitido voc� alterar O ARRAY EM SI.
abra�os
Jorge
-----Original Message-----
From: Lincolm Ferreira de Aguiar [mailto:[EMAIL PROTECTED]]
Sent: ter�a-feira, 29 de janeiro de 2002 08:40
To: [EMAIL PROTECTED]
Subject: Re: RES: [java-list] Como � feita a passagem de par�metros em
Java?
Ol� F�bio,
Tudo bem. Olha, ainda n�o ficou muito claro para mim o que voc� disse sobre
a passagem de par�metros em Java. Fiz um exemplo com uma
matriz, e a matriz mesmo foi alterada. Quem disse isso foi um usu�rio aqui
da lista, que no momento n�o lembro o nome dele. Como
pode ser? Veja o c�digo:
public class Passagem extends Object {
Object names[][] = new Object[1][2];
public Passagem(){
names[0][0] = "Lincolm";
names[0][1] = "Ferreira";
objects(names);
for(int x=0; x<=names.length - 1; x++){
for(int y=0; y<=names[x].length - 1; y++){
System.out.println(names[x][y]);
}
}
}
public static void main(String args[]){
Passagem ps = new Passagem();
}
public void objects(Object[][] n){
n[0][1] = "Aguiar";
}
}
Se comentar a chamada de objects(names) o resultado ser�:
Lincolm
Ferreira
No entanto, se remover os coment�rios a sa�da ser�:
Lincolm
Aguiar
Sinceramente, poderia me explicar.
Lincolm Ferreira de Aguiar
WebMaster - QueroProgramar
[EMAIL PROTECTED]
www.geocities.com/lincolmf
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, January 28, 2002 8:03 PM
Subject: RE: RES: [java-list] Como � feita a passagem de par�metros em Java?
> Quer ter seu pr�prio endere�o na Internet?
> Garanta j� o seu e ainda ganhe cinco e-mails personalizados.
> Dom�niosBOL - http://dominios.bol.com.br
>
>
>
>
>
> Amigos,
>
> Como esse assunto est� sendo bastante discutido, vou me meter no meio
> tamb�m e tentar esclarecer...
> O Java trata a passagem de par�metros de forma diferente para tipos
> primitivos e objetos, mas sempre � passada por valor.
> Funciona mais ou menos assim (vou usar o exemplo do curso de Java da
> Sun, que fiz a semana passada):
>
> Se voc� passa um tipo primitivo para um m�todo assim:
> ...
> int i = 10;
> this.alteraValor(i)
> System.out.print(i) // Imprime o valor 10
> ...
>
> alteraValor(int j){
> j = 15;
> }
> O que acontece? O Java entrega uma c�pia do conte�do de i para o m�todo.
> S� que o conte�do de i � igual a 10.
> J� se fizermos a mesma coisa com um objeto, vejam s�:
>
> ...
> MyDate data = new MyDate("28/01/2002");
> this.alteraValor(data);
> System.out.print(data); // Imprime o valor "28/01/2002";
> this.alteraValor2(data);
> System.out.print(data); // Imprime o valor "28/02/2002";
> ...
>
> alteraValor(MyDate t){
> t = new MyDate("31/07/2002");
> }
>
> alteraValor2(MyDate t){
> t.setMes("02");
> }
>
> Porqu� no primeiro m�todo o valor n�o se alterou, mas no segundo sim?
> Funciona da mesma maneira que a passagem de um tipo primitivo. O
> conte�do da vari�vel data n�o � o objeto MyDate, e sim o endere�o da
> mem�ria onde est� o objeto MyDate. E, da mesma maneira como acontece com
> o tipo primitivo, esse valor (endere�o do objeto) n�o pode ser alterado
> (tentamos alterar essa refer�ncia com o comando new MyDate).
> J� o conte�do do objeto pode ser alterado tranq�ilamente, pois ele fica
> em outra parte da mem�ria.
>
> Quaisquer d�vidas, perguntem....
>
> []
>
> F�bio Jorge Corr�a
> Citibank e-Business Solutions
> Phone: 55 11 3457.0675
> Fax: 55 11 3457.0652
> [EMAIL PROTECTED]
>
>
> -----Original Message-----
> From: sven [mailto:[EMAIL PROTECTED]]
> Sent: sexta-feira, 28 de dezembro de 2001 12:51
> To: java-list
> Cc: sven
> Subject: Re: RES: [java-list] Como � feita a passasgem de par�metros
> em Java?
>
>
>
> Um bom engano...
>
> Em Java, parametros s�o passados por referencia, mas dentro da fun��o
> uma copia � usado.
>
> ANDRE MOURA BARRETO wrote:
>
>
> Vc est� equivocado.
> Java n�o possue passagem de Par�metro por refer�ncia.
> Somente por valor, ou seja, uma c�pia � passada.
>
> -----Mensagem original-----
> De: Adalberto Zanata [Forum] [ mailto:[EMAIL PROTECTED]]
> Enviada em: Thursday, January 24, 2002 8:16 PM
> Para: [EMAIL PROTECTED]
> Assunto: Re: [java-list] Como � feita a passasgem de par�metros em
> Java?
>
>
>
> Adalberto Zanata
> [ [EMAIL PROTECTED]]
> [ http://www.espacoreverso.com.br/a.zanata]
>
> ----- Original Message -----
> From: "Paulo Henrique Castro" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, January 24, 2002 11:26 AM
> Subject: Re: [java-list] Como � feita a passasgem de par�metros em
> Java?
>
>
>
>
> Existe uma maneira de diferenciar as passagens de par�metros em
> Java, por
> valor e por refer�ncia?
>
>
>
> Ateh onde sei a passagem de parametros em Java eh somente
> por
> referencia!!
>
> []s
>
> PH
>
>
> --
> "Live fast, die old, and make very sure everyone knows you were
> there." -
> Alan Cox
>
>
> ------------------------------ 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]
> ------------------------------------------------------------------
> -------
>
>
>
> -- "'You guys (at Microsoft) still don't get it,' because it's sort
> of Java with reliability, productivity and security deleted."
> James Gosling
>
>
>
>
>
>
------------------------------ 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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
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
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED]
-------------------------------------------------------------------------