Avatar ·

Pourquoi et quand utiliser @JvmStatic dans les companion objects de Kotlin ?

Bonjour à tous ! J'ai commencé à apprendre Kotlin et je réécris un ancien projet Java. Je suis tombé sur une situation incompréhensible avec les companion objects. J'ai ce code en Kotlin : ```kotlin class MyUtils { companion object { fun formatDate(date: Date): String { // formatage de la date return SimpleDateFormat("yyyy-MM-dd", Locale.US).format(date) } const val MAX_COUNT = 100 } } ``` Depuis du code Java, j'essaie d'appeler cette méthode comme ceci : ```java String formatted = MyUtils.formatDate(new Date()); ``` Mais le compilateur génère une erreur ! Je dois écrire `MyUtils.Companion.formatDate(...)`, ce qui est horrible. J'ai lu à propos de l'annotation `@JvmStatic`, mais je ne comprends pas vraiment : 1. Pourquoi Kotlin se comporte-t-il ainsi ? En Java, je pouvais simplement appeler st