【Kotlin】Kotlin判断一个类是另一个的子类

Kotlin判断一个类是另一个的子类

1. 解答

  • is 运算符
  • isAssignableFrom 方法

2. 原理

在 Kotlin 中,您可以使用 is 运算符来判断一个类是否是另一个类的子类或实现了某个接口。下面是几种常见的方法:

  1. 使用 is 运算符:使用 is 运算符检查一个对象是否是指定类的实例或其子类的实例。
val obj: ParentClass = ChildClass()
if (obj is ParentClass ) {
    
    
    // obj 是 ParentClass 的实例
    // 执行相关操作
} else {
    
    
    // obj 不是 ParentClass 的实例或其子类的实例
    // 执行其他操作
}
  1. 使用 ::class.java 获取类的 Java 类型,并使用 isAssignableFrom 方法判断一个类是否是另一个类的父类或接口。
val isParentclass = ParentClass::class.java.isAssignableFrom(ChildClass::class.java)
if (isParentclass) {
    
    
    // ChildClass 是 ParentClass 的子类或相同类
    // 执行相关操作
} else {
    
    
    // ChildClass 不是 ParentClass 的子类或相同类
    // 执行其他操作
}

在上述代码中,isAssignableFrom 方法用于判断一个类是否是另一个类的父类或接口。如果 isParentclass 为 true,则表示 ChildClass 是 ParentClass 的子类或相同类。

猜你喜欢

转载自blog.csdn.net/weixin_42473228/article/details/134190485
今日推荐