Quando executo o comando Print(pilha) que é um LinkedList ele imprime o endereço do ponteiro. Alguém Manja como fazer esse print automático com algum outro comando?
Quando executo o comando Print(pilha) que é um LinkedList ele imprime o endereço do ponteiro. Alguém Manja como fazer esse print automático com algum outro comando?
Oi Henrique,
pilha não é uma LinkedList, mas sim um objeto do tipo Pilha
que tem uma LinkedList.
Vou supor que, quando você diz Print(pilha)
você esteja relamente fazendo System.out.println(pilha)
, correto? Nesse caso, é natural que ele mostre o hashCode em hexadecimal do objeto -- em Java, não é um ponteiro. ;-)
Isso acontece porque, internamente, o println
chama o método toString
do objeto a ser impresso. E o comportamento desse método, como descrito na classe Object é de imprimir o tal hashCode em hexadecimal.
Para que ele imprima os dados da pilha, será necessário sobrescrever o método toString
da classe Pilha
:
@Override
public String toString() {
return nomes.toString();
}
Vdd vajei... rsrs
Desculpe abusar da sua boa vontade mais achei que esse código fosse o endereço do objeto na memória... Você citar algum exemplo de utilidade desse hashCode?
Obrigado Cecilia!!!
Olá, Henrique.
Esse hash code é útil quando se lida com hash maps (ou hash tables), também conhecida em português como tabela de dispersão, que é uma estrutura de dados especial.
Tu podes ler a respeito aqui.
Valeu André!!
.