加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Kotlin:具有多个不同类型的setter的单一属性

发布时间:2020-12-13 20:48:02 所属栏目:百科 来源:网络整理
导读:我正在尝试构建一个具有LocalDate类型属性的类,该类具有接受不同类型的setter:LocalDate或String.在LocalDate的情况下,值直接分配,在String的情况下,它被解析然后分配. 在 Java中,我只需要实现两个重载的setter来处理上述两种情况.但我不知道如何处理Kotlin
我正在尝试构建一个具有LocalDate类型属性的类,该类具有接受不同类型的setter:LocalDate或String.在LocalDate的情况下,值直接分配,在String的情况下,它被解析然后分配.
在 Java中,我只需要实现两个重载的setter来处理上述两种情况.但我不知道如何处理Kotlin.我试过这个:
class SomeExampleClass(var _date: LocalDate) {
    var date = _date
        set(value) {
            when(value) {
                is LocalDate -> value
                is String -> LocalDate.parse(value)
            }
        }
}

它不编译.我该如何解决这个问题?

因此,如果您只想构建它(通过构造函数),只需创建一个 secondary constructor即可
SomeExampleClass(LocalDate.MAX)
SomeExampleClass("2007-12-03")

class SomeExampleClass(var _date: LocalDate) {
    constructor(_date: String) : this(LocalDate.parse(_date))
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读