假设我们有一个Java注释如下:
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Hans {
String[] value() default {};
}
Run Code Online (Sandbox Code Playgroud)
在Kotlin中,我可以使用Annotation如下:
@Hans(value = "test")
Run Code Online (Sandbox Code Playgroud)
只要我将属性名称从'value'更改为'name',就不允许再使用此语法,而是需要使用arrayOf(..).
@Hans(name = arrayOf("test"))
Run Code Online (Sandbox Code Playgroud)
这是一个错误或设计决定,如果是这样的原因是什么原因.
非常感谢提前亲切的问候
kotlin ×1