Kotlin kotlinClass.class.getName()不能返回包名,而只能返回简单的类名

AClass.class.getName();

如果AClass是一个java类,这个方法将返回包名和类名。 但是当我将AClass java文件转换为Kotlin文件时,它只会返回一个类名。 所以系统找不到这个类的路径

上面的代码

尝试以下解决方案:: –

 var name = MainActivity::class.java.canonicalName as String 

有许多方法可以在kotlin中获得java Class的全限定名:

通过属性KClass.qualifiedName获取名称:

 val name = AClass::class.qualifiedName; 

通过属性Class.name获取名称:

 val name = AClass::class.java.name; 

通过方法获取名称Class#getName

 val name = AClass::class.java.getName(); 

一个类的合格名称表如下:

 |-----------------------|-----------------------|-----------------------| | | Class | Anonymous Class | |-----------------------|-----------------------|-----------------------| | KClass.qualifiedName | foo.bar.AClass | null | |-----------------------|-----------------------|-----------------------| | Class.name | foo.bar.AClass | foo.bar.AClass$1 | |-----------------------|-----------------------|-----------------------| | Class.getName() | foo.bar.AClass | foo.bar.AClass$1 | |-----------------------|-----------------------|-----------------------|