如何在Kotlin中习惯性地转换可空类型?

我是Kotlin的新手,我正在寻找建议,将下面的代码改写成更优雅的方式。

val ts: Long? = 1481710060773 val date: Date? if (ts != null) { date = Date(ts) } 

我试过了,但是我认为这并不比原来的更好。

 val ts: Long? = 1481710060773 val date: Date? ts?.let { date = Date(ts) } 

谢谢。

您可以使用如下调用结果:

 val date = ts?.let(::Date) 

您可以在Kotlin文档中使用:: syntax找到更多关于函数引用的信息

 val ts = 1481710060773L val date = Date(ts) 

你不需要指定ts为可空的long类型Long? 如果你正在给它分配一个常数值。 然后, Long类型被推断为ts ,不再需要空检查。