is 关键字
- is 用于在运行时检查对象是否属于指定类型.
- 它返回一个布尔类型,表示对象是否是指定类型的实例
- is 可以用于 if 表达式 when 表达式和普通的条件语句.
val obj: Any = "Hello"
if (obj is String) {
// 对象是 String 类型
val strLength = obj.length
}
as 关键字
- as 用于条件转换
- 它将对象转换为指定类型,但如果转换失败,会抛出ClassCastException异常.
- 如果确定转型成功,可以使用 as 进行类型转换
val obj: Any = "Hello"
val str: String = obj as String
- 如果不确定是否转换成功,可以使用安全类型转换操作符 as?
- as? 返回一个可空类型,如果转换失败 返回 null.
val obj: Any = "Hello"
val str: String? = obj as? String