合并Kotlin中的注释使用场所目标

时间:2018-11-02 08:52:13

标签: kotlin annotations

考虑一下,我有一个要从JSON序列化到/从JSON序列化的类:

import com.fasterxml.jackson.annotation.JsonCreator
import com.fasterxml.jackson.annotation.JsonProperty

class C
@JsonCreator
constructor(@param:JsonProperty(value = "p", index = 0, required = true)
            @get:JsonProperty(value = "p", index = 0, required = true)
            val p: String)

相同的JsonProperty注释必须同时应用于getP()方法(get use-site target,以使序列化正确运行)构造函数参数(param 使用站点目标,以成功进行反序列化)。

在这两种情况下,注释及其成员值基本相同。可以更简洁地重写上面的内容吗?

如果我将上面的代码替换为

class C
@JsonCreator
constructor(@JsonProperty(value = "p", index = 0, required = true)
            val p: String)

-那么注释仅应用于构造函数参数(RuntimeVisibleParameterAnnotations),而不应用于getter方法。

0 个答案:

没有答案