为了账号安全,请及时绑定邮箱和手机立即绑定

kotlin 的成员变量的 get() 以及 null 检测问题

kotlin 的成员变量的 get() 以及 null 检测问题

www说 2018-10-13 17:09:53
class Machine : AbstractVerticle {    private var config: Config? = null    constructor();    constructor(config: TicketMachineConfig) {        this.config = config    }}我有这样一个类,逻辑上 Config 是必出传的。但是由于类是被 Vertx 创建,于是我就必须提供一个空的构造函数。于是 config 就必须先等于 null于是返回类型就变成了 Config?于是所有使用的地方就要 config!!这个太丑陋了,于是我试了:重写 get 方法。kotlin 不让重写,只让写 get(), 但是返回值定死了 Config?。失败。改成别的名字 getSafeConfig()。 和别的字段的使用不是一个画风,而且变成了两个接口,不知道人还是会用config!!
查看完整描述

1 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

  1. 使用 lateinit var 定义延迟初始化变量

    class Machine : AbstractVerticle {
        private lateinit var config: Config    
        constructor();    
        constructor(config: TicketMachineConfig) {   
             this.config = config
        }
    }
  2. 使用 kotlin 构造函数


    class Machine(private val config: Config) : AbstractVerticle {
    }


查看完整回答
反对 回复 2018-10-21
  • 1 回答
  • 0 关注
  • 1733 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信