如何在 Kotlin 中检查对象类型(instanceof)?Java instanceof 的对应方法
你好!我刚开始在 Java 之后学习 Kotlin,遇到了一个问题。在 Java 中,我经常使用 instanceof 运算符来检查对象是否是某个类的实例。例如:
// Java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
但在 Kotlin 中,我找不到直接的对应方法。我尝试写 obj instanceof String,但编译器报错。我尝试使用 is——似乎可以工作,但我不确定是否正确。
这是我写的代码:
fun checkType(obj: Any) {
// 尝试检查类型
if (obj is String) {
// 想调用 length() 方法
println(obj.length)
}
}
这段代码编译并运行了。但我有几个问题:
- 我使用
is代替instanceof是否正确? - 之后是否需要