首页 > 解决方案 > 如何获得内部类反射

问题描述

我有一个像

package example.com
class TContract : Contract {
    interface Commands : CommandData {
        class TIssue(val reference: State) : Commands
    }
}

如何获取 TIssue 的类反射。我试过Class.forName("example.com.TContract.Commands.TIssue")了,但它不起作用!

标签: javakotlin

解决方案


内部类将被编译,类文件将是ClassName$InnerClassName. 请参阅:https ://stackoverflow.com/a/11388863/1048340

您需要在 Kotlin 中转义美元符号字符。以下将起作用:

Class.forName("example.com.TContract\$Commands\$TIssue")


推荐阅读