Java的互操作性:如何在Kotlin中声明一个编译时数组常量?

我有这个Java注释声明,并希望在Kotlin中使用它

class CurlCommand { Parameter(names = "-groups", description = "Comma-separated list of group names to be run") var groups: Array? = null } 

编译器报告TYPE_MISMATCH必需:kotlin.Array find:kotlin.String

我试过了

 Parameter(names = Array(1, {i-> "-groups"}), description = "Comma-separated list of group names to be run") var groups: Array? = null 

并得到“错误:(20,23)Kotlin:一个注释参数必须是一个编译时常量”

我怎样才能满足Kotlin编译器?

Java只是接受

 @Parameter(names = "-groups", description = "Comma-separated list of group names to be run") public String groups; 

你在Kotlin声明如下:

 const val LG_PACKAGE = "com.myapp" 

但是, 编译时常量的kotlin文档说它们只能是Stringtypes或基本types。 所以如果你想使用常量,你可以得到最接近的是:

 const val LG_PACKAGE = "com.myapp" @EnableJpaRepositories(basePackages = arrayOf(LG_PACKAGE)) @EntityScan(basePackages = arrayOf(LG_PACKAGE)) open class LgApp { 

有时答案很简单,一旦意外发现

 array("-groups") 

虽然Kotlin转换器给了我这个代码

 @Parameter(names = "-groups", description = "Comma-separated list of group names to be run") public String groups; 

正如我上面提到的。