首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么LocalDate不实现Comparable<LocalDate>?

为什么LocalDate不实现Comparable<LocalDate>?
EN

Stack Overflow用户
提问于 2018-11-30 11:27:50
回答 2查看 905关注 0票数 5

初始问题:

Scala中,我想使用隐式Ordering[T]#Ops来比较两个LocalDate

它只是使用像>这样的“操作符”,而不是使用isAfter

它应该只是一个导入:import scala.math.Ordering.Implicits._

检查:

看起来它适用于LocalTime,而不是LocalDate,因为LocalTime而不是LocalDate实现了Comparable<LocalTime>

问题:

我想知道,

LocalDate实现Comparable<ChronoLocalDate>而不是Comparable<LocalDate>的原因

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-30 11:44:12

LocalDate实际上是implements Comparable<ChronoLocalDate>ChronoLocalDate,通过实现这两个实例,它的每个实例当然都可以与另一个LocalDate实例相媲美。

您可以在甲骨文的网站上查看LocalDate

ChronoLocalDate是由不同类型的日历实现的接口,目的是使它们都具有可比性。这是因为有JapaneseDateThaiBuddhistDateHijrahDate,至少还有一个。完全不同的日历是可以互相比较的,这是很棒的。另一方面,LocalTime只是一个具有不同时区的时间表示,而不需要使用这个接口就可以与不同地区的时间表示进行比较。

票数 9
EN

Stack Overflow用户

发布于 2018-11-30 14:36:30

要使操作符正常工作,除了导入之外,还需要另一行,定义所需的Ordering (假设Scala2.12):

代码语言:javascript
复制
implicit val localDateOrdering: Ordering[LocalDate] = _.compareTo(_)

如果您想在许多类中使用它,请在object中定义它并在必要时导入它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53556656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档