私は教育目的でJavaバリューオブジェクトを調査しています。Javaバリューオブジェクト定義
私が理解していないのは、(同じ呼吸で)JavaバリューオブジェクトにComparableが実装されていることを誰も言及していない理由です。
Javaバリューオブジェクトに「正しい」HashCodeが必要な場合&同等の理由から、Comparable CompareToメソッドを使用する必要はありません。
ここに私の思考プロセスがあります。バリューオブジェクトのインスタンスは等価であるかどうかのテストが行われるため、正しいequals/hashcodeが必要です。 値オブジェクトは "ハッシュ"コレクションに格納することができ、再びHashcodeメソッドが必要です。 Comparableで追加しないと、オーダーされたコレクションのキーになることがありますか?
なぜcompareToメソッドを実装する必要があるのですか? –
現在使用している値オブジェクトの定義の参照はありますか?しかし、あなたの質問はほとんど読まれています:「なぜこのコンセプトを定義した人々はこの他のコンセプトを含んでいませんでしたか?」そして、これらの質問は原作者に直接質問することができなければ答えが不可能ではないにしても難しくあります。 –