luk*_*kle 11 string null nullable kotlin
根据官方kotlin文档,null对象的toString()调用返回"null" toString()
我想,toString()应该返回一个空字符串("").我用扩展功能实现了它.
fun Any?.toEmptyStringIfNull() :String {
if (this == null) {
return ""
} else {
return toString()
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是否可以实现更简单/更容易/更清洁,并且无需每次都调用扩展功能.
mie*_*sol 23
怎么样:
nullable?.toString() ?: ""
Run Code Online (Sandbox Code Playgroud)
或者如Alexander Udalov所说:
nullable?.toString().orEmpty()
Run Code Online (Sandbox Code Playgroud)
哪一个可以包含在扩展方法中:
fun Any?.toStringOrEmpty() = this?.toString() ?: ""
Run Code Online (Sandbox Code Playgroud)
Har*_*mut 10
可以直接使用nullable.orEmpty()。
参考:https : //kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/or-empty.html
编辑:
提供的答案不完整- 仅适用于String?而不是Any?在下面的评论中指出。
| 归档时间: |
|
| 查看次数: |
4213 次 |
| 最近记录: |