Ola, pessoal. Sei que em java não existe ponteiro como em C, mas o resultado que estou obtendo é o mesmo de um ponteiro. No código abaixo, eu tenho uma ArrayList global povoada com 5 elementos, logo o .size() é 5. Quando atribuo essa lista a uma outra variável, esta segunda variável recebe o mesmo conteúdo da lista original, entretanto, quando eu mudo o valor da lista original, a segunda também é alterada (como se fosse apenas um ponteiro). Alguém sabe explicar o por que disso?
[code]ArrayList<int[][]> listaDePontos = new ArrayList();
public ArrayList<int[][]> func1(){
ArrayList<int[][]> aux = new ArrayList();
aux = listaDePontos;
System.out.println("tamanho da lista original:" +listaDePontos.size()); //exibe o valor 5
System.out.println("tamanho da lista aux:" +aux.size()); //exibe o valor 5
listaDePontos.clear();
System.out.println("tamanho da lista original:" +listaDePontos.size()); //exibe o valor 0
System.out.println("tamanho da lista aux:" +aux.size()); //exibe o valor 0
return aux;
}[/code]