gpt4 book ai didi

java - 将 java Class<> 转换为 kotlin 的 KClass<>

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

就像我有一个 kotlin 函数:

object KotlinFunc {
@JvmStatic
fun create(mycls: KClass<*>) {...}
}

我想在 java 代码中调用这个函数,但这不起作用:

public void javaFunc() {
KotlinFunc.create(MyClass.class)
}

最佳答案

可以通过调用Java中的getKotlinClass函数来实现:

kotlin.jvm.JvmClassMappingKt.getKotlinClass(MyClass.class);

你可以像这样调用你的函数:

kotlin.reflect.KClass<MyClass> kClass = kotlin.jvm.JvmClassMappingKt.getKotlinClass(MyClass.class);
KotlinFunc.create(kClass);

并确保 kotlin-reflect 在您的类路径中,例如:

使用 Gradle Kotlin:

dependencies {
...
implementation(kotlin("reflect"))
...
}

使用 Gradle Groovy:

dependencies {
...
implementation 'org.jetbrains.kotlin:kotlin-reflect'
...
}

关于java - 将 java Class<> 转换为 kotlin 的 KClass<>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55369415/

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