gpt4 book ai didi

kotlin - 注释 : when is arrayOf needed

转载 作者:IT老高 更新时间:2023-10-28 13:42:07 27 4
gpt4 key购买 nike

假设我们有一个 Java 注释,如下所示:

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Hans {
String[] value() default {};
}

在 Kotlin 中,我可以按如下方式使用注解:

@Hans(value = "test")

一旦我将属性名称从“值”更改为“名称”,就不允许再使用此语法,而是需要使用 arrayOf(..)。

@Hans(name = arrayOf("test"))

这是一个错误还是一个设计决定,如果是,那么背后的原因是什么。

非常感谢提前亲切的问候

最佳答案

不,这不是错误。 Java 对 value 注解进行了特殊处理,并允许在使用时省略注解参数名称。 Kotlin 遵循这种特殊处理,也允许你省略参数名,允许你写 @Hans("test")。支持数组参数的这种语法需要将参数视为 vararg,因此 Kotlin 会这样做并允许您省略 arrayOf

关于kotlin - 注释 : when is arrayOf needed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41180972/

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