gpt4 book ai didi

annotations - Kotlin 中的嵌套注解

转载 作者:行者123 更新时间:2023-12-04 03:23:12 26 4
gpt4 key购买 nike

在 Java 中,可以创建像这样的嵌套注释:

public @interface InnerInnotation {
String value();
}

public @interface OuterAnnotation {
InnerAnnotation[] value() default {
@InnerAnnotation("Hello"),
@InnerAnnotation("World")
}
}

annotation class InnerAnnotation(val value: String)

但是当我试图在 Kotlin 中做同样的事情时,我得到了一个编译错误:

annotation class OuterAnnotation(
// Next line doesn't compile: "Annotation class cannot be instantiated"
val value: Array<InnerAnnotation> = arrayOf(InnerAnnotation("Test"))
)

然而,单个实例注释字段工作正常:

annotation class OuterAnnotation(
val value: InnerAnnotation = InnerAnnotation("Hello World")
)

有没有办法用嵌套的注解数组字段来定义注解,并为这个字段指定一个默认值?

最佳答案

如果您不在嵌套注释上使用 @,这将起作用。据我阅读并与开发人员讨论过的内容,这是嵌套注释的预期语法。感觉不一致,我希望他们改变它,但距离 1.0 如此之近,希望很低。

关于annotations - Kotlin 中的嵌套注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33855843/

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