首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有非空的可空域

问具有非空的可空域
EN

Stack Overflow用户
提问于 2017-05-17 15:06:32
回答 1查看 1.5K关注 0票数 1

我试图用可空的setter和空的字段实现非空的getter。

  1. 字段parent可以为null,这意味着父字段为this。如果父值不为null,则父值为parent值。
  2. Getter是不可空的,因为它返回this或parent。
  3. Setter可以设置可空值,因为它可以删除当前父级。

我试过这个:

代码语言:javascript
复制
@ManyToOne(fetch = FetchType.EAGER)

@JoinColumn(name = "parent_id")
var _parent: T? = null
var parent: T
    get() = if (isParent) this as T else _parent!!
    set(value) {
        _parent = if (value == null) null else value.parent
    }

我不喜欢_parent变量,但它对setter没有帮助,因为它仍然不能像parent: T那样为空,所以解决方案不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-17 15:18:44

此时不可能定义具有不同getter和setter类型的属性。这个功能有一个开放特征请求,但是没有计划用于任何特定的Kotlin版本。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44028604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档