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
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
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.