【发布时间】:2020-08-10 08:20:36
【问题描述】:
可以通过委托实现类
class Envs(
val map: Map<String, String> = to_map()
) : Map<String, String> by map
但它不适用于object,下面的代码不会编译
object Envs : Map<String, String> by map {
val map: Map<String, String> = to_map()
}
【问题讨论】:
-
object不应该带参数,它们的初始化更像是静态的(实际上不是静态的,而是像它一样)。你可以做更多像object Envs : Map<String, String> by to_map() -
报错信息与委托无关:“Constructors are not allowed for objects”
-
@Moira 我的错,我发布的代码略有错误,请查看更新后的问题。
标签: kotlin