Interoperabilidad Java: ¿cómo declarar una constante de matriz en time de compilation en Kotlin?

Tengo esta statement de anotación Java y quiero usarla en Kotlin

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

El comstackdor informa TYPE_MISMATCH Requerido: kotlin.Array <kotlin.String> Found: kotlin.String

He intentado

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

y obtuve "Error: (20, 23) Kotlin: un parámetro de anotación debe ser una constante en time de compilation"

¿Cómo puedo satisfacer el comstackdor de Kotlin?

Java simplemente acepta

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

Usted declara una constante en Kotlin así:

 const val LG_PACKAGE = "com.myapp" 

Sin embargo, la documentation de kotlin para constantes de time de compilation dice que solo pueden ser de tipo String o un tipo primitivo. Entonces, lo más cercano que puede get si quiere usar constantes es este:

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

A veces la respuesta es muy simple, una vez que uno la descubre accidentalmente

 array("-groups") 

Aunque el convertidor de Kotlin me dio este código

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

como he mencionado anteriormente.

  • La extensión de TreeMap en Kotlin falla pelusa
  • Implementación de interfaz de retorno con Kotlin y lambda
  • La delegación de propiedad kotlin alias lanza Exception
  • Kotlin equivalente a Optional.map y una reference de método
  • Resolución de errores de sustitución accidental en Kotlin
  • Extensión de Kotlin Any? .toString ()
  • Eliminar ruptura en Kotlin cuando expresión
  • Cómo usar un setter personalizado en el cuerpo constructor de la class Kotlin
  • No se llama a ninguno de los suscriptores de RxJava onNext / onError / onComplete al encadenar Observables creado desde Observable.create ()
  • Seguridad nula en las bibliotecas henetworkingadas de Java utilizadas en los proyectos de Kotlin
  • onActivityResult no se llama cuando se llama a la actividad de java desde kotlin para get resultados