【发布时间】:2017-11-07 16:25:49
【问题描述】:
我的 Kotlin 对象中有两个构造函数,一个主构造函数和一个辅助构造函数。主要的没有任何东西,而次要的有一些参数。我想在辅助构造函数中映射一个 DTO,但我看不出有什么问题。
示例
open class User(): RealmObject() {
@PrimaryKey
open var id: Long = 0
open var login: String? = null
open var firstName: String? = null
open var surname: String? = null
open var isAdmin: Boolean = false
open var groups: RealmList<Int>? = null
constructor(id: Long?, login: String?, firstName: String?, surname: String?, admin: Boolean?, groups: List<Int>?) : this()
companion object {
fun map(dto: UserDTO): User {
Timber.d(dto.toString()) //The response data from the WS, OK with some data
val groups = RealmList<Int>()
dto.groups?.forEach { groups.add(it) }
val u = User(dto.id, dto.login, dto.firstName, dto.surname, dto.admin, groups) //Calling the secondary constructor
Timber.d(u.toString()) // Everything is null or false, KO
return u
}
}
}
【问题讨论】: