Kotlin类型检查、转换及抽象类使用详解
1. 类型检查与转换
1.1 类型检查的必要性
在运行时,一个类的变量可能引用其任何子类型的实例。比如以下代码:
val objects = arrayOf("1", 2, "3", 4)
从编译器角度看, objects 是 Any 类型的数组,因为 Any 是涵盖所有元素的最小公共超类型。若要对数组元素使用 String 或 Int 特定操作,直接应用会出错,因为元素为 Any 类型,不支持更具体的函数或属性:
for (obj in objects) {
println(obj*2) // Error: * is not supported for Any
}
1.2 is 和 !is 操作符
Kotlin 提供了类型检查和转换操作符。 is 操作符用于检查左操作数是否为给定类型,若为真则返回 true :
val objects = arrayOf("1", 2, "3", 4)
for (obj in
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



