Classes Wrappers

1 resposta
D

Salve, Salve Galera…

Alguém pode me explicar o porque isso é falso:

Integer i = new Integer("17");
Short s = new Short("17");

System.out.println( i.equals(s) );

Atn.
Dennys Fredericci

1 Resposta

V

Olha a implementação do método equals da classe Integer.

public boolean equals(Object obj) { if (obj instanceof Integer) { return value == ((Integer)obj).intValue(); } return false; }

O fato é que para um objeto ser equals ao outro ele deve seguir a premissa básica de ser do mesmo tipo.

Para obter um valor verdadeiro na sua comparação você deve comparar seus valores literais.

:wink:

Criado 6 de fevereiro de 2005
Ultima resposta 6 de fev. de 2005
Respostas 1
Participantes 2