Kotlin - "If readLine() is null or empty assign default value, else parse readLine()"

标签 kotlin

我是 Kotlin 的初学者,到目前为止我很喜欢它。我很好奇 Kotlin 是否有一个快速简单的解决方案来检查用户输入/字符串是否为空。我想要以下功能:

"If readLine() is null or empty assign default value, else parse readLine()"

到目前为止,我想出的是:
var inp = readLine()
val double = if(inp.isNullOrEmpty()) 0.0 else inp.toDouble()

这是最好的吗?如果可能,我宁愿不存储原始用户输入字符串。谢谢您的帮助!

最佳答案

您可以使用 toDoubleOrNull 这里:

val double: Double = readLine()?.toDoubleOrNull() ?: 0

readLine()返回 null ,然后是 readLine()?.toDoubleOrNull()表达式也将返回 null ,您将使用默认值。

readLine()返回一个非空值,toDoubleOrNull将尝试解析它,如果失败(例如,对于空字符串),它将返回 null ,让您再次回到默认设置。

关于 Kotlin - "If readLine() is null or empty assign default value, else parse readLine()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49407925/

相关文章:

kotlin - break or return from when 表达式

android - Unresolved reference : kotlinx - Kotlin 1-0-0-rc-1036

android - 如何在 Kotlin 中引用 "run"或 "apply"内的实现回调

reflection - 在没有实例的情况下访问 Kotlin 委托(delegate)类型

kotlin - Kotlin Flow 的 Collect 是否只是内部 kotlinx.coroutines API?

kotlin - 找不到流量的契约(Contract)附件

spring - Spring Boot Controller区域设置不随参数更改

Android Studio Build.VERSION_CODES.R 和 Window.getInsetsController() 丢失

android - 如何捕捉到水平 RecyclerView 中 LinearSnapHelper 的特定位置?

android - 将多个嵌套列表保存到房间数据库中