Vejam, por favor, o código abaixo:
import java.util.Date;
public class EqualsHashCode {
public static void main(String[] args) {
Integer i1 = new Integer(20);
Integer i2 = new Integer(20);
if(i1.equals(i2)&&(i1.hashCode()==i2.hashCode()))
System.out.println("métodos sobrescritos para wrappers");
String s1 = "Roberto";
String s2 = new String("Roberto");
if(s1.equals(s2)&&(s1.hashCode()==s2.hashCode()))
System.out.println("Métodos sobrescritos para String");
Date d1 = new Date();
Date d2 = new Date();
if(d1.equals(d2)&&(d1.hashCode()==d2.hashCode()))
System.out.println("Métodos sobrescritos para Date");
}
}
Leiam, por favor, esta afirmação:
" Podemos notar que para as classes Date, String e wrappers, os métodos hashcode() equals() são sobrescritos. Isso nos permite determinar a igualdade entre objetos dessas classes.""
Pergunto:
-Porque os métodos são sobrescritos ? - Alguém aqui poderia me explicar ?
Lyra Machado