[英]Primitive properties for a class in init block - Kotlin
我正在定义一个具有许多原始属性的 Kotlin 类:
class Contract (contractEntity : ContractEntity) EntityDao<ContractEntity> {
var id : Long // <- This is a primitive datatype, needs to be initialized
var concept : String //<- This also needs to be initialized or declared abstract
init{
mapFromEntity(contractEntity)
}
override fun mapFromEntity(entity : ContractEntity){
id = entity.id
concept = entity.concept
}
}
现在,我希望使用函数mapFromEntity()
初始化这些属性,但我坚持使用 init 块,因为它们没有初始化。 什么可能是实现我正在尝试的好方法?
到目前为止,最好的解决方案建议删除映射类的函数并使用构造函数参数。
class Contract (contractEntity : ContractEntity) EntityDao<ContractEntity> {
var id = contractEntity.id
var concept = contractEntity.concept
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.