我有一个声明为
的自定义注释@Target(AnnotationTarget.FUNCTION)
annotation class Anno(val value: IntArray, val attr2: Int = 0)
对于单个元素声明,我可以在Java类中使用上面的注释
@Anno(1)
但是在Kotlin课上写同样的东西时,我必须把括号括起来
@Anno([1])
在这种情况下,不需要括号,还是我声明注释错误?我使用的是Kotlin版本1.2.0-rc-39
答案 0 :(得分:1)
是的,方括号(Kotlin 1.2+)或php artisan backpack:base:install
(Kotlin 1.2-)是必需的。
但只要这是你的注释,用Kotlin编写,你就可以用它来做fancy things,就像服用lambdas或varargs一样,所以你可以尝试根据需要调整结果语法。例如,即使在Kotlin 1.2中,这也是有效的语法 -
arrayOf
您需要在最后添加@Target(AnnotationTarget.FUNCTION)
annotation class Anno(
val attribute: String,
vararg val value: Int
)
@Anno("test", 1, 2, 3)
fun test() = 42
参数。