如何初始化Kotlin的最终字段?
问题描述:
比方说,我宣布了最终字段为private final String s
(Java)或val s
(Kotlin)。在初始化期间,我想通过调用远程服务的结果初始化字段。在Java中,我可以在构造函数中初始化它(例如s = RemoteService.result()
),但是在Kotlin中,我无法弄清楚如何做到这一点,因为据我所知,该字段必须在声明的同一行中进行初始化。这里有什么解决方案?如何初始化Kotlin的最终字段?
答
可以设置在初始块val
值:
class MyClass {
val s: String
init {
s = "value"
}
}
答