Avatar ·

Constantes em Kotlin: formas corretas de declarar e usar

Olá a todos! Comecei a estudar Kotlin depois de Java e estou confuso sobre a declaração de constantes. Em Java, eu costumava escrever `public static final String MY_CONST = "value";`, e em Kotlin vejo várias abordagens diferentes e não entendo qual delas é a correta.\n\nPor exemplo, vejo que se pode escrever:\n\n```kotlin\nclass MyClass {\n companion object {\n val MY_CONST = "value"\n }\n}\n```\n\nOu até mesmo simplesmente:\n\n```kotlin\nval MY_CONST = "value"\n```\n\nMas em alguns guias falam sobre `const val`, e em outros dizem que `const` funciona apenas com primitivos. Também estou confuso sobre `object` e `companion object` — quando usar cada um? E é necessário usar `companion object` como análogo de `static final` do Java, ou isso é um antipadrão?\n\nPor favor, me digam qual abordagem é considerada correta e