如何将Java中的静态方法替换为Kotlin:完整指南
你好!我在使用Java几年后刚开始学习Kotlin,遇到了一些困惑。在Java中,我经常使用静态方法来创建工具类、工厂或常量。例如:
```java
public class StringUtils {
public static boolean isEmpty(String str) {
return str == null || str.trim().isEmpty();
}
public static final String APP_NAME = "MyApp";
}
```
在Kotlin中,我不能直接写`static`。当我尝试:
```kotlin
class StringUtils {
static fun isEmpty(str: String?): Boolean { // 错误!
return str == null || str.trim().isEmpty()
}
}
```
编译器报错:"Modifier 'static' is not applicable inside 'top level'"。我搜索了一下,找到了`companion object`,但不太明白它是如何工作的。例如,我想要:
1. 创建一个工具类,其中的方法可以在不创建实例的情况下调用(如`Math.abs()`)。
2. 定义常量,使其在任何地方都可访问。