モジュール java.base
パッケージ java.lang

インタフェースComparable<T>

    • メソッドのサマリー

      修飾子と型 メソッド 説明
      int compareTo​(T o)
      このオブジェクトと指定されたオブジェクトの順序を比較します。
    • メソッドの詳細

      • compareTo

        int compareTo​(T o)
        このオブジェクトと指定されたオブジェクトの順序を比較します。 このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数を返します。

        実装では、すべてのxyに対してsgn(x.compareTo(y))== -sgn(y.compareTo(x))が保証されなければいけません。 これは、y.compareTo(x)が例外をスローする場合はx.compareTo(y)も例外をスローすることを意味します。

        実装者は、関係が推移的であることも保証しなければならない: (x.compareTo(y) > 0 && y.compareTo(z) > 0)x.compareTo(z) > 0を意味します。

        さらに、すべてのzに対してx.compareTo(y)==0sgn(x.compareTo(z))== sgn(y.compareTo(z))を意味することも保証されなければいけません。

        必須というわけではありませんが、(x.compareTo(y)==0)==(x.equals(y))であることが強く推奨されます。 一般に、Comparableインタフェースを実装しているクラスで、この条件に違反するクラスはすべて、明確にこの事実を示す必要があります。 注: このクラスはequalsと一貫性のない自然順序付けを持ちますなどと明示することをお薦めします。

        前述の説明において、sgn( expression )は、expressionの値がそれぞれ負、ゼロ、または正であるかどうかに従って、-10、または1のうちの1つを返すように定義された数学的signum関数を指定します。

        パラメータ:
        o -比較対象のオブジェクト。
        戻り値:
        このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
        例外:
        NullPointerException - 指定されたオブジェクトがnullの場合
        ClassCastException - 指定されたオブジェクトの型が原因で、このオブジェクトと比較できない場合