if (first != null ? !first.equals(solution.first) : solution.first != null) return false;
return last != null ? last.equals(solution.last) : solution.last == null;
GvardeeZZZ
41 уровень
Что здесь происходит? Не понимаю работу тернарного оператора.
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Sergey Kornilov
15 декабря 2021, 15:59
if (first != null ? !first.equals(solution.first) : solution.first != null) return false;
1) Возвращает false, в случаях когда поля First объектов не равны и поля first сравниваемых объектов не равны null или когда одно поле == null, а второе не null.
Иначе проверяем по полю last
return last != null ? last.equals(solution.last) : solution.last == null;
2) Возвращает true в случае когда поля last равны, либо оба поля last == null, иначе возвращает false.
0
hidden #598481
15 декабря 2021, 15:32
Замени оба тернарных на if-then-else, станет понятней. Идея это умеет делать за тебя по нажатию на alt+enter, когда курсор на операторе
0
Anonymous #2632922
15 августа 2022, 05:33
а что происходит при переопределении метода когда в теле метода вызывается сам метод?
!first.equals(solution.first)?
вызывается не переопределенный метод?
0
hidden #598481
15 августа 2022, 05:49
first это что, строка? Значит ты вызываешь equals класса String. Ты же метод у объекта вызываешь, правильно?
0