Avatar ·

¿Cómo traducir métodos estáticos de Java a Kotlin? (equivalente de static)

¡Hola a todos! Estoy migrando de Java a Kotlin y me encontré con un problema. En Java uso a menudo métodos estáticos para clases de utilidad, por ejemplo, para trabajar con fechas o validar cadenas. Aquí hay un código Java típico: ```java public class StringUtils { public static boolean isEmpty(String str) { return str == null || str.trim().isEmpty(); } public static String capitalize(String str) { if (str == null || str.isEmpty()) return str; return str.substring(0, 1).toUpperCase() + str.substring(1); } } // Uso: if (StringUtils.isEmpty(userInput)) { System.out.println("Input is empty"); } ``` Intento trasladar esto a Kotlin, pero la palabra clave `static` no existe en Kotlin. Probé simplemente escribir `companion object`, pero se ve algo engorroso. Además, he oído sobre "objetos acompañantes" y "funciones de nivel superior", pero no entiendo del todo en qué se diferencian y cuándo usar cada uno. Por favor, indíquenme.