我正在尝试编写一个为日期添加天数的隐式类。
我知道我需要两个隐式类。一个用于LocalDate,一个用于int。
但是,我仍然坚持如何完成这些方法。
implicit class RichLocalDate(d:LocalDate) {
def +(day: LocalDate):Path = ???
}
implicit class RichInt(n:Int){
def jan():LocalDate = LocalDate.of(2016,1,n)
def feb():LocalDate = LocalDate.of(2016,2,n)
def mar():LocalDate = LocalDate.of(2016,3,n)
....
???
}
}
答案 0 :(得分:2)
样品:
object Pimpeds {
implicit class PimpedLocalDate[LocalDate](date: LocalDate) {
def +(days: Int) = date.plusDays(days)
}
}
当您需要时:
import Pimpeds._
val myDate: LocalDate = ...
myDate.+(2)
答案 1 :(得分:1)
首先添加两个LocalDate
是没有意义的(即你的def +(day: LocalDate):Path
方法)。您想要成为2016年1月1日+ 2016年1月1日:4032年2月2日的结果?您最有可能需要+(amount: TemporalAmount)
(请参阅https://docs.oracle.com/javase/8/docs/api/java/time/temporal/TemporalAmount.html),只需要调用plus
方法。