最初の問題:
ではScalaの、私は暗黙的に使用したいOrdering[T]#Ops
2を比較しますLocalDate
。
これは、同じように「演算子」を使用する>
代わりにisAfter
。
それはちょうど、インポートする必要があります: import scala.math.Ordering.Implicits._
検査:
ルックスは、それがで動作します好きLocalTime
やでないLocalDate
ため、LocalTime
代わりのLocalDate
実装Comparable<LocalTime>
。
質問:
私は不思議、
なぜLocalDate
道具Comparable<ChronoLocalDate>
の代わりにComparable<LocalDate>
?
LocalDate
実際にはimplements Comparable<ChronoLocalDate>
同様にChronoLocalDate
、これらの2を実装することで、それのすべてのインスタンスは、当然のことながら、別のに匹敵するLocalDate
インスタンス。
あなたは見て持つことができるのJavadocLocalDate
Oracleのウェブサイト上に。
ChronoLocalDate
お互いにそれらすべてが同等にするために、カレンダーの異なる種類によって実装されるインタフェースです。それが存在するためであるJapaneseDate
、ThaiBuddhistDate
、HijrahDate
少なくとも1以上と。すべての偉大である、お互いに匹敵する全く別のカレンダー。LocalTime
一方、異なるタイムゾーンを持つだけの時間表現であるとちょうど異なるロケールの時間表現に匹敵するには、このインターフェイスの道を行く必要はありません。