Прогнал тестики, все прошло, валидатор не принимает, подскажите, что не так.
package com.javarush.task.task21.task2104;
import java.util.HashSet;
import java.util.Set;
/*
Equals and HashCode
*/
public class Solution {
private final String first, last;
public Solution(String first, String last) {
this.first = first;
this.last = last;
}
@Override
public boolean equals(Object anObject) {
if (this == anObject)
return true;
if (anObject instanceof Solution) {
if (this.hashCode() == anObject.hashCode())
return true;
}
return false;
}
@Override
public int hashCode() {
return (first == null ? 0 : first.hashCode()) + (last == null ? 0 : last.hashCode()) + 31;
}
public static void main(String[] args) {
Set<Solution> s = new HashSet<>();
s.add(new Solution("Donald", "Duck"));
boolean equal = new Solution("Donal", null).equals(new Solution("Donal", null));
System.out.println(s.contains(new Solution("Donald", "Duck")));
}
}