クラスが Comparable を実装する場合の compareTo() メソッドの定義のベスト プラクティスを探しています。したがって、メソッドのシグネチャは
public int compareTo(BaseClass arg)
最初にすべきことは、arg がこのクラスのインスタンスかどうかを確認することです。そうであれば、クラスにキャストし、メンバーを比較します。しかし、引数がこのクラスのものではなく、BaseClass を実装する他のクラスのものである場合、何を返せば再帰的になるでしょうか?
ベスト プラクティスは、そのクラスに対してのみ compareTo() を定義することですが、その水はダムの上にあります。