gpt4 book ai didi

kotlin - Kotlin,Jackson:无法在主要构造函数中注释@JsonCreator

转载 作者:行者123 更新时间:2023-12-04 00:27:49 25 4
gpt4 key购买 nike

我想使用主要构造函数用 @JsonCreator 进行注释,如下所示:

// error
@JsonCreator class User(
@JsonProperty("username") var username: String,
@JsonProperty("password") var password: String
) {
// ...
}

但是@JsonCreator注释给出错误“此注释不适用于目标'class'”。

使用辅助构造函数有效,但这是唯一(或最佳)方法吗?:
// works, but is there a better way?
class User @JsonCreator constructor(
@JsonProperty("username") var username: String,
@JsonProperty("password") var password: String
) {
// ...
}

最佳答案

您在这里描述的内容:

class User @JsonCreator constructor(
@JsonProperty("username") var username: String,
@JsonProperty("password") var password: String
) {
// ...
}

实际上是显式指定 构造函数。您可以通过查看类声明来区分主要对象和次要对象:
class User constructor(/** **/) { // <-- primary

constructor(/** ... **/) { // <-- secondary

}

}

如果构造函数是类 header 的一部分,则它是主要构造函数;如果它是类声明的一部分(在 {之后),则它是辅助构造函数。

关于kotlin - Kotlin,Jackson:无法在主要构造函数中注释@JsonCreator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51350426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com