如何在kotlin中获取当前的类文件名

在Java中我可以使用下面的代码:

public class Ex { public static void main(String [ ] args) { String path = Ex.class.getProtectionDomain().getCodeSource().getLocation().getPath(); String decodedPath = URLDecoder.decode(path, "UTF-8"); } } 

但在Kotlin中,主要功能是在一个班级以外定义的。 我怎样才能得到它的当前文件名?

作为一种解决方法,将main方法放入伴侣对象中。
这段代码将显示与您的Java代码相同的路径:

 class ExKt { companion object { @JvmStatic fun main(args: Array<String>) { val path = ExKt::class.java.protectionDomain.codeSource.location.path println("Kotlin: " + path) } } } 

解决方案是:

 class Ex() { fun m() { var p2 = Ex::class.java.simpleName println("p2:${p2}") } } fun main(args: Array<String>) { Ex().m() }