gpt4 book ai didi

kotlin - 如何检查 "lateinit"变量是否已初始化?

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

我想知道是否有办法检查 lateinit 变量是否已初始化。例如:

class Foo() {

private lateinit var myFile: File

fun bar(path: String?) {
path?.let { myFile = File(it) }
}

fun bar2() {
myFile.whateverMethod()
// May crash since I don't know whether myFile has been initialized
}
}

最佳答案

在 Kotlin 1.2 中有一个 lateinit 改进,允许直接检查 lateinit 变量的初始化状态:

lateinit var file: File    

if (this::file.isInitialized) { ... }

查看JetBrains blog上的公告或 KEEP proposal .

更新: Kotlin 1.2 已经发布。您可以在此处找到 lateinit 增强功能:

关于kotlin - 如何检查 "lateinit"变量是否已初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37618738/

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