找出主机名读取里的 bug

来自 空安全
Kotlin 2.4.10 进阶 4分钟 找出 1处问题

只要能读到一次主机名,程序就应输出其长度。请找出不安全的假设。

kotlin
class FlakyConfig {
    private var reads = 0
    val host: String?
        get() {
            reads += 1
            return if (reads == 1) "db.local" else null
        }
}

fun main() {
    val config = FlakyConfig()
    if (config.host != null) {
        println(config.host!!.length)
    }
}
在试验场中打开
报告错误