Avatar ·

So ersetzen Sie statische Methoden aus Java in Kotlin: Eine vollständige Anleitung

Hallo! Ich habe gerade angefangen, Kotlin zu lernen, nachdem ich mehrere Jahre mit Java gearbeitet habe, und ich bin verwirrt. In Java habe ich oft statische Methoden verwendet, um Utility-Klassen, Fabriken oder Konstanten zu erstellen. Zum Beispiel: ```java public class StringUtils { public static boolean isEmpty(String str) { return str == null || str.trim().isEmpty(); } public static final String APP_NAME = "MyApp"; } ``` In Kotlin kann ich nicht einfach `static` schreiben. Als ich es versuchte: ```kotlin class StringUtils { static fun isEmpty(str: String?): Boolean { // Fehler! return str == null || str.trim().isEmpty() } } ``` Der Compiler gibt einen Fehler aus: "Modifier 'static' is not applicable inside 'top level'". Ich habe gegoogelt und etwas über `companion object` gefunden, aber ich verstehe nicht ganz, wie es funktioniert. Zum Beispiel möchte ich: 1. Eine Utility-Klasse mit Methoden erstellen, die ohne Instanzerstellung aufgerufen werden können (wie `Math.abs()`). 2. Konstanten definieren, die von überall aus zugänglich sind.