如何在Kotlin中找到某个超类型的类的所有接口

  • 本文关键字:类型 超类 接口 Kotlin kotlin
  • 更新时间 :
  • 英文 :


假设这是Kotlin代码。

interface Command
interface Command1 : Command
interface Command2 : Command
interface Order

class Obj : Command1, Command2, Order

对于上面的代码,输出应该是Command1Command2,因为我只想要某个类型的结果,在这种情况下是Command。因此,Order不应该是输出。

代码

fun main() {
Obj().javaClass.interfaces.filter { Command::class.java.isAssignableFrom(it) }.forEach { println(it.simpleName) }
}
interface Command
interface Command1 : Command
interface Command2 : Command
interface Order

class Obj : Command1, Command2, Order

输出

Command1
Command2

最新更新