首页 > 解决方案 > 在 Kotlin 中,我可以将 Elvis 表达式添加到 simpledateformat 格式吗?

问题描述

在 Kotlin 中,我可以将 Elvis 表达式添加到 simpledateformat 格式吗?编译器似乎接受它,但不确定结果。也许有更好的方式来表达这一点?

sdf.format(getDateFromDatebase(nullibleDate))?:""

标签: androidkotlin

解决方案


如何使用可为空的类型

如果你使用 ?. 只有当左侧不为空时,您才能调用方法,因此您可以将代码重写为:

nullibleDate
    ?.let { getDateFromDatebase(it) } 
    ?.let { sdf.format(it) } ?:""

这使用了let,它将调用它的值传递给块,在块内它可以被称为它。

如果此阶段的任何阶段返回 null ,它将被传递到最后,elvis 运算符?:将用空字符串替换 null 。


推荐阅读