isSuperclassOf 与is 与 ==的区别
操作 | 作用对象 | 用途 | 是否支持继承 |
---|---|---|---|
is | 实例 vs 类型 | 判断一个对象是否是某个类型的实例 | ✅ 支持(多态) |
== | KClass 对象 | 判断两个类型是否完全相等(不继承) | ❌ 不支持 |
isSuperclassOf | KClass 对象 | 判断一个类是否是另一个类的父类(支持继承) | ✅ 支持 |
is
is
:判断一个对象是否是某个类型的实例语法:
obj is Type
- 判断
obj
这个对象实例是否是Type
类型(或其子类/实现类)。- 是 Kotlin 的关键字,用于运行时类型检查。
List::class.isSuperclassOf(T::class)
这个表达式的意思是:“
T
是否是List
的子类或实现类?”换句话说:
T
是不是一种列表类型?比如ArrayList
、MutableList
、MyCustomList
等。