Em Java, a passagem de par�metros sempre � feita por valor.
Mas quando vc passa um objeto (matriz se encaixa nesta categoria)
� passado uma refer�ncia a esse objeto.
Ent�o:
String[] nomes = new String[2];
nomes[0] = "Douglas";
nomes[1] = "Drummond";
mudaNome1(nomes);
System.out.println(nomes[0]); // Imprime Disquete
mudaNome2(nomes);
System.out.println(nomes[1]); // Ainda imprime Drummond
void mudaNome1(String[] n) {
n[0] = "Disquete";
}
void mudaNome2(String[] n) {
n = new String[2];
n[0] = "Teste";
n[1] = "Teste2";
}
Por qu�? Como � passada a refer�ncia ao objeto, em mudaNome1, n e nomes
apontam para o mesmo objeto, ent�o ao alterar n[0] realmente estamos
alterando nomes[0]. Mas a passagem � feita por valor, ent�o se tentarmos
alterar a refer�ncia (fazer o objeto apontar para outro lugar), a refer�ncia
de n e nomes ser�o diferentes (ao fazer n = new String[2], n aponta para uma
nova �rea de mem�ria, enquanto nomes ainda aponta para o endere�o antigo)
Espero ter ajudado um pouco, esse assunto � um pouco confuso,
Douglas Drummond
------------------------------ 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]
-------------------------------------------------------------------------