gpt4 book ai didi

kotlin - 如何在 Kotlin 中对选项进行模式匹配?

转载 作者:IT老高 更新时间:2023-10-28 13:31:30 28 4
gpt4 key购买 nike

是否有可能写出这样的东西,还是我们必须回到 Kotlin 中手动检查空值?

val meaningOfLife : String? = null

when meaningOfLife {
exists -> println(meaningOfLife)
else -> println("There's no meaning")
}

最佳答案

一种可能的方法是首先匹配 null 以便在 else 分支中 String? 隐式转换为 String:

val meaningOfLife: String? = null

when (meaningOfLife) {
null -> println("There's no meaning")
else -> println(meaningOfLife.toUpperCase()) //non-nullable here
}

这是 smart cast 的一个特例由编译器执行。

is Stringelse 分支可以达到类似的效果——is String——当值不为空时检查是否为真。

有关 null 安全性的更多习语,请参阅 this answer .

关于kotlin - 如何在 Kotlin 中对选项进行模式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37610629/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com