1

我有如下注释:

@Arg
internal var stringArg1: String? = null
@Arg
internal var stringArg2: String = "default value"

我遍历了所有带注释的类变量,如下所示:

for (e in annotatedElement.enclosedElements) {
    if (e.getAnnotation(Arg::class.java) != null) {
        val defaultValue = ??? 
    }
}

问题:

是否可以获得带注释的变量的默认值?在我的示例中,我想为我的两个变量检索null"default value"

4

1 回答 1

1

不,这是不可能的。

默认值必须存储在 Kotlin 元数据中,以便您在注释处理器中访问它们(并且它们不存储在那里)。

您可以在Kotlin 存储库中查看有关该内容的一些详细信息:

文档

于 2019-12-10T17:03:42.403 回答