我想使用 Class.getResourceAsStream()
在顶级函数中加载资源。
有没有什么方法可以获取对顶层函数将被编译成的类的引用,以便我可以编写,例如
val myThing = readFromStream(MYCLASS.getResourceAsStream(...))
最佳答案
我发现的另一种方法是在顶级函数中声明一个本地类或匿名对象并获取它的enclosingClass
:
val topLevelClass = object{}.javaClass.enclosingClass
注意:为了工作,这个声明应该放在顶层或顶层函数内。
然后您可以使用 topLevelClass
作为 Class<out Any>
:
fun main(args: Array<String>) {
println(topLevelClass) // class MyFileNameKt
}
关于java - 有没有办法为 Kotlin 顶级函数引用 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34951894/