@daementus的答案几乎是完美的。如果要对默认参数使用构造函数注入,则必须强制Kotlin生成构造函数重载:
data class Section @JvmOverloads constructor( @field:Element(name = "id") @param:Element(name = "id") val id: Long, @field:Attribute(name = "title", required = false) @param:Attribute(name = "title", required = false) val title: String = "")
没有它,您将获得 与Section部分不匹配的Constructor 。默认情况下,Kotlin生成具有所有参数和特殊构造函数的构造函数。
注意:我希望在评论中回答,但我的观点不够。



