我试图用可空的setter和空的字段实现非空的getter。
parent可以为null,这意味着父字段为this。如果父值不为null,则父值为parent值。this或parent。我试过这个:
@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那样为空,所以解决方案不起作用。
发布于 2017-05-17 15:18:44
此时不可能定义具有不同getter和setter类型的属性。这个功能有一个开放特征请求,但是没有计划用于任何特定的Kotlin版本。
https://stackoverflow.com/questions/44028604
复制相似问题