Я знаком с несколькими условиями в тройном условном операторе, как это:Multiple условного оператор
(condition A ? value A :
(condition B ? value B :
(condition C ? value C :
...
)
)
)
, но я не могу понять, как код ниже работ (функция предположит возвращать целое число:
return (co1.Nr() < co2.Nr() ? -1 :
(co1.Nr() == co2.Nr() ? (co1.Id() < co2.Id() ? -1 :
(co1.Id() == co2.Id() ? 0 : 1)) : 1;
Пожалуйста, объясните мне?
Такие выражения настолько трудно читать. К счастью, с помощью Java 8 вы можете написать 'Comparator.comparingInt (MyType :: Nr) .thenComparingInt (MyType :: Id);' –
Что вы не понимаете? –