Подскажите, пожалуйста, насколько верно решение сравнивать строки с "==" (вернее не сами строки, а их переменные-ссылки)
в задачи нужно было переопределить equals
public boolean equals(Object o) {
if(o == null){
return false;
}
if(this == o){
return true;
}
if(!(o instanceof Solution)){
return false;
}
Solution n = (Solution) o;
return first == (n.first) && last == (n.last);
}
решил таким образом. прошу отметить, что я сравнил здесь first == (n.first) && last == (n.last);
? ссылочные переменные? подскажите, пожалуйста, как работает
в правильном решении
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Solution)) return false;
Solution solution = (Solution) o;
if (first != null ? !first.equals(solution.first) : solution.first != null) return false;
return last != null ? last.equals(solution.last) : solution.last == null;
}
используется equals. насколько я понял, используется тот самый, который переопределен в классе String