我熟悉這樣在三元條件操作多個條件:多個條件操作
(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);' –
您對此有何瞭解? –