我尝试和失败(或部分成功)来实现扩展功能LocalDateTime
LocalDateTime扩展功能和智能铸件
这里是我的尝试:
fun LocalDateTime.isNotBefore(other: ChronoLocalDateTime<*>) = !isBefore(other)
的问题是的IntelliJ抱怨说,它不能smartcast我的curTime
变量(这是一个val
和LocalDateTime?
)
isNotBefore(curTime)
将有一个红色的波浪线和抱怨吨它无法对其进行智能广播。所以我必须使用!!
不用担心,如果你不能复制它,我有很多代码 - 这些是重要的部分。
区别在于像isBefore()
这样的常规LocalDateTime
方法在这个位置不需要smartcast。
所以这意味着我没有在我的扩展功能中正确实现某些东西。
有谁知道我该如何修复扩展功能,以便我不需要使用!!
?
伟大的,我试图做到这一点,但放弃了,因为我不知道符号(我也遇到了困难搜索'!'在谷歌:) – ycomp