gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 13:34:38 26 4
gpt4 key购买 nike

AClass.class.getName();

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

上面的代码

最佳答案

有很多方法可以在 kotlin 中获取 java Class 的完整限定名:

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

val name = AClass::class.qualifiedName;

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

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

OR 通过 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 |
|-----------------------|-----------------------|-----------------------|

关于java - Kotlin kotlinClass.class.getName() 不能返回包名,只能返回简单的类名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44535168/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com