完全なコード:
なぜYearMonth
クラスは、時間的ながら(インターフェース)MonthDay
時間的ではないでしょうか?
両方のクラスは、その意味ではほぼ同じですので、これは、奇妙に思えます。
私はMONTHDAYは一時的なインタフェースが使用されている使用済みのどこにも決してありませんが、多分、より良い理由があることを示唆しています。
オレVV:
これは、のドキュメントを読むの質問であるMonthDay
右の引用を見つけるためのdavidxxxと他の人に感謝して、:
このクラスの実装
TemporalAccessor
ではなくTemporal
。2月29日には、プラス/マイナスの実装を防ぐ、外部情報なしで有効であるかどうかを定義することはできないためです。これに関連し、MonthDay
唯一のクエリへのアクセスを提供し、フィールドを設定MONTH_OF_YEAR
してDAY_OF_MONTH
。
あなたはのドキュメントからこのスニペットと一緒にこれを読むことができますTemporal
。
これは完全に十分にはプラスとマイナス使用して操作することになっている日付、時刻、およびオフセットオブジェクトの基本インターフェイスタイプです。
彼らは、プラスとマイナスのために定義したいと思っていませんMonthDay
。そのため、たとえばそれが何であるかを2月28日プラス1日明らかではありません。何年かで、それは3月1日だ他の年で、2月29日です。
比較では、に月または年を追加するとYearMonth
、常に明確に定義されたとは驚くべきことではない結果を与えます。
リンク