Kotlin kotlinClass.class.getName() 不能返回包名,只能返回简单的类名
AClass.class.getName();
如果 AClass 是 java 类,则此方法将返回包名和类名。但是当我将AClass java文件转换为Kotlin文件时,它只会返回一个类名。所以系统找不到这个类路径
上面的代码
AClass.class.getName();
如果 AClass 是 java 类,则此方法将返回包名和类名。但是当我将AClass java文件转换为Kotlin文件时,它只会返回一个类名。所以系统找不到这个类路径
上面的代码
有很多方法可以在 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   |
|-----------------------|-----------------------|-----------------------|
						请尝试以下解决方案::-
var name = MainActivity::class.java.canonicalName as String