Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Métodos reescritos convenientemente.

Amigos,

Não consegui exemplificar a diferença do toString reescrito do Integer para o toString do java.lang. Eu queria ver a diferença dos métodos na prática.

Alguém poderia me dar uma luz.

Abraços. Vitor

3 respostas
solução!

Oi Vitor, tudo bom?

Vamos lá. Primeiramente, java.lang é um pacote, acredito que você esteja se referenciando ao toString da classe Object que está contida no pacote java.lang. Certo?

Se sim, dando uma olhada aqui na documentação, a gente ve que o toString do Object retorna uma representação em string de um objeto, seguindo o padrão: nomeDaClasse@#.

Já o toString do Integer retorna uma string com o valor do numero inteiro contido no objeto do tipo Integer (lembrando que Integer é uma classe wrapper). Ou seja, se esse método não fosse sobrescrito para a classe Integer, ao dar system.out.println() em um Integer, teriamos como retorno no terminal algo como:

Integer@#

Não um numero, como o esperado =)

Qualquer dificuldade, compartilhe com a gente e bons estudos!

Oi Vitor,

Se a classee Integer utilizasse o toString padrão, aquele implementado em Object, ela possuiria de retorno algo como:

Integer i = 10;
System.out.println(10);
// java.lang.Integer@ab142f -> se não tivesse sobrescrito

Esta é a implementação padrão do toString em Object e utiliza o nome_da_classe@hashcode.

Como a classe Integer sobrescreveu o toString, aparece o próprio número:

Integer i = 10;
System.out.println(10);
// 10

Ficou um pouco mais claro?

Abraço

Vlw André e Joviane. Agora ficou mais claro.

Eu tenho que passar a usar a documentação das classes certamente. Fica mais fácil diferenciar os métodos reescritos.