从Kotlin访问Integer.class

我有一个接受Class参数的Java方法。 我需要将Integer.class传递给它,但是从Kotlin代码。 我试过Int::class.java ,但是这不起作用,因为int.class被传递给函数。 我的问题是,如何从Kotlin访问Integer.class

Java的

 void foo(Class clazz); 

科特林

 foo(Int::class.java) // does not work, int.class gets passed to foo 

您必须使用KClass#javaObjectType来获取Kotlin中的包装类型类:

返回与给定的KClass实例相对应的Java Class实例。 在原始类型的情况下,它返回相应的包装类。

例如:

 // v--- java.lang.Integer println(Int::class.javaObjectType) // v--- int println(Int::class.java)