ネガティブ/ポジティブに保つ、intに長い変換java.util.Comparator
Long
を持つ:私が実装したい/ 0
new Comparator<Long>() {
public int compare(Long l1, Long l2) {
// (*)
}
}
私は、オペレータ?:
と解決策があります。
return l1==l2 ? 0 : (l1>l2 ? 1 : -1);
をしかし、私はかしらありそれを実装する他の方法です。
(私はreturn (int)(l1-l2)
を試していましたが、間違っています)。
なぜ実装を変更したいですか?合ってます。 – dtech
'return(int)Math.signum(l1-l2)'? – assylias
@assylias次に、longをdoubleに変換し、doubleをintに再度変換します。また、その解決策はすべての長時間にわたって正しくない可能性があります(例えば、2^60と2^60-1の戻り値0) – dtech