Avatar ·

如何在Kotlin中检查对象类型(instanceof)?

大家好!我刚从Java开始学习Kotlin,遇到了一个问题。在Java中,我习惯使用`instanceof`运算符来检查对象类型,例如: ```java if (obj instanceof String) { String str = (String) obj; System.out.println(str.length()); } ``` 但在Kotlin中,我找不到对应的写法。我尝试写类似`obj instanceof String`的代码,但编译器报错。我知道Kotlin有关键字`is`,但不确定如何正确使用。另外,在Java中,使用`instanceof`检查后,我必须显式进行类型转换,而在Kotlin中,据我理解,这是自动完成的?还是说不是这样? 请告诉我如何在Kotlin中正确检查对象类型并安全地将其转换为所需类型?我不仅关心基本语法,还想了解最佳实践。例如,在`when`表达式或处理集合时需要检查类型该怎么办?提前感谢您的帮助! 以下是我无法正常运行的代码示例: