gpt4 book ai didi

java - 如何将 kotlin 类或 kotlin 类实例作为参数传递

转载 作者:行者123 更新时间:2023-11-30 08:06:04 25 4
gpt4 key购买 nike

见以下代码:

class Ex() {
fun m(i: Object) {
}
}

class Ex2() {
fun m2() {
Ex().m(this)
}
}

如何让Ex#m接收到Ex2实例,我现在可以传this.javaClass作为参数了,但是太麻烦了,"this"的Class是什么

更新

fun m(i: Object) 更改为 fun m(i: Ex2) 可以修复当前示例,但我希望 KotlinObjectClass 使 Ex#m 接收变量类型争论

更新使用 Any 可以解决“可变类型”的问题,但我希望更确切地说,我希望只接收类型 KotlinClassObjectInstance

最佳答案

您可以使用 reified type parameters像这样:

class Ex() {
inline fun <reified T> m() {
println(T::class)
}
}

class Ex2() {
fun m2() {
Ex().m<Ex2>()
}
}

现在 Ex2().m2() 将打印 class Ex2

关于java - 如何将 kotlin 类或 kotlin 类实例作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34655332/

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