从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
实例相对应的JavaClass
实例。 在原始类型的情况下,它返回相应的包装类。
例如:
// v--- java.lang.Integer println(Int::class.javaObjectType) // v--- int println(Int::class.java)