data class UserRto(val lastName: String, val firstName: String, val email: String, val password: String) {
constructor() : this("", "", "", "")
}这是获得第二个不带参数的ctor的最简单方法(对于json反判)吗?
发布于 2016-06-16 04:34:30
如果所有参数都有默认值,则生成无参数构造函数的约定(只适用于这种情况:):
//Kotlin
data class UserRto(val lastName: String = "",
val firstName: String = "",
val email: String = "",
val password: String = "")
//Java
new UserRto();
new UserRto("a", "a", "a", "a");使用显式空构造函数的解决方案的优点是必须提供所有参数,或者不提供参数。但在大多数情况下,它并不是什么大事,而且很少被使用。
发布于 2016-06-17 13:27:57
您没有指定正在使用的JSON反序列化库。很可能根本不需要这个辅助构造函数,并且可以直接使用包含所有属性作为参数的类构造函数。
谷歌可能也会为这些或其他图书馆寻找其他图书馆。
那么你只需要:
data class UserRto(val lastName: String, val firstName: String, val email: String, val password: String)对于Jackson-Kotlin模块,您可以简单地:
val user: UserRto = jacksonObjectMapper().readValue(jsonString)https://stackoverflow.com/questions/37846813
复制相似问题