8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

compareTo の戻り値仕様はリファレンスを見に行かなくても余裕

Posted at

演算子オーバーロードのないJavaでオブジェクトの大小比較は .compareTo メソッドですが、どちらがどちらだと正・0・負が返るのかそらで言えますか? 私は言えません。
そして戻り値の正・0・負がどうたったかの仕様を見つけたとして、それを参考にしつつif文の条件式を一目で理解できるでしょうか、スムーズに間違いなく書き下ろせるでしょうか? ⋯それは、とても容易です!

表にしてみましょう

不等号があった場合 compareToによる記述
a < b a.compareTo(b) < 0
a <= b a.compareTo(b) <= 0
a > b a.compareTo(b) > 0
a >= b a.compareTo(b) >= 0

あっ。

compareTo右側に 0 を置くと、不等号の向きが保存されています。
結果的にそうなるように戻り値仕様が定められていたのですね。

8
3
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?