Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将kotlin类或kotlin类实例作为参数传递_Java_Kotlin - Fatal编程技术网

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

Java 如何将kotlin类或kotlin类实例作为参数传递,java,kotlin,Java,Kotlin,请参阅以下代码: class Ex() { fun m(i: Object) { } } class Ex2() { fun m2() { Ex().m(this) } } 如何让Ex#m接收Ex2实例,我现在可以将this.javaClass作为参数传递,但太麻烦了,“this”的类是什么 更新 将fun m(i:Object)更改为fun m(i:Ex2)可以修复当前示例,但我希望KotlinObjectClass使Ex#m接收变量

请参阅以下代码:

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

class Ex2() {
    fun m2() {
        Ex().m(this)
    }    
}
如何让Ex#m接收Ex2实例,我现在可以将this.javaClass作为参数传递,但太麻烦了,“this”的类是什么

更新

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

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

这就是您要找的吗

interface MyKotlin
class Ex {
  fun m(i: MyKotlin) {
  }
}
class Ex2 : MyKotlin {
  fun m2() {
    Ex().m(this)
  }
}
class Ex3 : MyKotlin {
  fun m3() {
    Ex().m(this)
  }
}
您可以这样使用:

class Ex(){
内联fun m(){
println(T::class)
}
}
类Ex2(){
乐趣m2(){
Ex().m()
}
}

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

您想完成什么?没有一种类型只描述用Kotlin编写的类的实例。@yole我希望知道“this”的类您可以
I.javaClass
找到任何对象的类。请通过将更新合并到问题中来编辑该问题。在当前的状态下,不清楚您想做什么。如果您的示例使用了更好的类名,并且这些类名不是很短,也不是很相似。不,正如“更新”所说的,这种方式可能会使事情更复杂。请将问题改写为清楚。在这个问题上我们不需要修改历史,很难理解。只需创建一个更完整的示例代码。
class Ex() {
    inline fun <reified T> m() {
        println(T::class)
    }
}

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