Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kotlin,jackson:无法在主构造函数中注释@JsonCreator_Kotlin_Jackson - Fatal编程技术网

Kotlin,jackson:无法在主构造函数中注释@JsonCreator

Kotlin,jackson:无法在主构造函数中注释@JsonCreator,kotlin,jackson,Kotlin,Jackson,我想使用主构造函数进行注释,如下所示: // error @JsonCreator class User( @JsonProperty("username") var username: String, @JsonProperty("password") var password: String ) { // ... } 但是@JsonCreator注释给出了一个错误“此注释不适用于目标‘类’” 使用二级构造函数是可行的,但这是唯一(或最好)的方法吗 你在这里描述的是: c

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

// error
@JsonCreator class User(
    @JsonProperty("username") var username: String,
    @JsonProperty("password") var password: String
) {
  // ...
}
但是@JsonCreator注释给出了一个错误“此注释不适用于目标‘类’”

使用二级构造函数是可行的,但这是唯一(或最好)的方法吗


你在这里描述的是:

class User @JsonCreator constructor(
    @JsonProperty("username") var username: String,
    @JsonProperty("password") var password: String
) {
  // ...
}
实际上是显式指定主构造函数。通过查看类声明,可以区分主类和次类:

class User constructor(/** **/) { // <-- primary

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

    }

}

类用户构造函数(/*****/){//这不是辅助构造函数。它是主构造函数。如果主构造函数没有任何注释或可见性修饰符,则可以忽略构造函数关键字
class User constructor(/** **/) { // <-- primary

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

    }

}