kos*_*cki 2 nullable properties kotlin
假设我定义了一个具有可空属性的类
class ABC {
var myProperty: String? = null
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将其默认为空值?也许类似于SCALA?
var myProperty: String? = _ // compilation error
Run Code Online (Sandbox Code Playgroud)
或者干脆:
var myProperty: String? // compilation error
Run Code Online (Sandbox Code Playgroud)
我知道我们可以使用一个来自Kotlin 1.2 的lateinit变量,可以稍后检查启动,如下所示:
lateinit var myProperty: String
if (::myProperty.isInitialized) {
//value is not-null
}
Run Code Online (Sandbox Code Playgroud)
那么晚了首选的方式呢?是否可以默认为空值或者故意省略它?
Kotlin故意要求您明确初始化所有属性.没有简写语法.对于可空类型的属性,首选方法是不使用lateinit,而是使用null初始化程序声明它.
在isInitialized用于方法lateinit的属性被设计为处理复杂的情况下,像资源的清理; 它不打算用作null对= null作为财产声明一部分的想要保存的用户的支票的替代品.
| 归档时间: |
|
| 查看次数: |
912 次 |
| 最近记录: |