Considérons l'exemple de code donné ci-dessous:Remplacer de l'égalité et hashCode pour la classe abstraite super
Résumé Nom
public abstract class Name {
private String name;
public Name(String name)
{
this.name=name;
}
public String toString()
{
return name;
}
public String getName() {
return name;
}
}
FirstName
public class FirstName extends Name {
FirstName(String name) {
super(name);
}
public String toString()
{
return getName();
}
}
LastName
public class LastName extends Name{
LastName(String name) {
super(name);
}
public String toString()
{
return getName();
}
}
TestName
public class TestName {
public static void main(String[] args) {
Set<Name> names=new HashSet<Name>();
names.add(new FirstName("George"));
names.add(new LastName("Bush"));
names.add(new FirstName("Bush"));
System.out.println(names);
}
}
Sortie
[Bush, Bush, George]
Maintenant, la question est de savoir comment passer outre hashcode et méthode de l'égalité telle que j'ai un seul nom "Bush" soit le prénom ou le nom de famille?
Demandez-vous comment remplacer ces méthodes ou comment mettre en œuvre les remplacements pour faire ce que vous voulez? –
Comment l'implémenter. – Emil