Для отражения мне нужно Class<Long> в качестве аргумента getDeclaredMethod:
Class<Long>
getDeclaredMethod
it.javaClass.getDeclaredMethod("myMethodName", Long.javaClass)
Но в Kotlin, Long.javaClass дает Class<Long.companion>. Как мне получить правильный тип?
Long.javaClass
Class<Long.companion>
Вы можете использовать Long::class для получения KClass, представляющего Long, а затем оттуда свойство расширения .java для получения Java Class экземпляр. Так что в целом:
Long::class
KClass
Long
.java
Class
val longClass: Class<Long> = Long::class.java