Comment remplacer les méthodes statiques de Java en Kotlin : guide complet
Bonjour ! Je viens de commencer à apprendre Kotlin après plusieurs années de travail avec Java, et je suis un peu confus. En Java, j'utilisais souvent des méthodes statiques pour créer des classes utilitaires, des fabriques ou des constantes. Par exemple :
```java
public class StringUtils {
public static boolean isEmpty(String str) {
return str == null || str.trim().isEmpty();
}
public static final String APP_NAME = "MyApp";
}
```
En Kotlin, je ne peux pas simplement écrire `static`. Quand j'ai essayé :
```kotlin
class StringUtils {
static fun isEmpty(str: String?): Boolean { // Erreur !
return str == null || str.trim().isEmpty()
}
}
```
Le compilateur renvoie une erreur : "Modifier 'static' is not applicable inside 'top level'". J'ai cherché sur Google et j'ai trouvé des informations sur `companion object`, mais je ne comprends pas bien comment cela fonctionne. Par exemple, je veux :
1. Créer une classe utilitaire avec des méthodes que l'on peut appeler sans créer d'instance (comme `Math.abs()`).
2. Définir des constantes accessibles depuis n'importe où.