Passagem por parametro

olá caras!

ouvi dizer que java passa os parâmetros nos métodos por cópia, contudo, eu passei um array por por parâmetro em um método de ordenação.
no final eu queria ter dois arrays, o ordenado, que seria o retorno do método, e o não ordenado, que foi o que passei por parâmetro. mas no final os dois estavam ordenados. porque isso?

desculpem minha ignorância.

obrigasdo!

boa noite.

Variáveis primitivas (int, byte, short, char, etc) são passadas por valor (cópia do valor da variável).

Objetos são passados por referência, ou seja, o que é enviado para o método é o ponteiro para a área de memória ocupada pelo objeto. Quaisquer mudanças no objeto feitas dentro do método alteram a variável de origem.

Lembrando que todo array é um objeto, mesmo que seja um array de tipo primitivo.

Pesquise sobre o método clone…

Um abraço.

como citado pelo brother AndreAlves vc deve ter copiado a reverencia do obj arry…
tipo:

[code]int a [ ] = new int [15];
int b [ ] = new int [15];

/seu codigo/

b[] = a[];[/code]

se em algum momento vc fez isso vc copiou a referencia e ‘a’ para ‘b’ e ambos estão apontando para o msm end de memoria…

System.arraycopy

se precisar copiar o array pode dar uma olhada desse link…
vi essa semana em outro topico e achei util para vc.

abr

Olá
Bom na verdade na verdade de acordo com a Kathy, Java passa somente por valor todas as suas variáveis, ou seja ele passa uma cópia dos bits das variáveis, se você esta passando um primitivo estará passando a cópia dos bits que representam determinado valor, 0, 9 9.8.
Um Array, mesmo sendo um array de primitivos é considerado um objeto e por isso você passa uma cópia dos bits que representam esse objeto, como você pode acessar determinado objeto na memória, é meio confuso por você não passa o objeto e nem mesmo a referência desse objeto, assim sendo tanto o método que chamou como o método chamado terão cópias idênticas da referência do objeto e por isso se referem ao mesmo objeto na memória.
Isso é o que está no livro de certificação da Kathy.

pessoas!
obrigado mais uma vez! vou usar o arraycopy, será útil mesmo! valew!