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