Как получить класс java из общего параметра param?

Я пытаюсь использовать следующий метод:

fun <T> put(value: T){ val clazz = T::class.java } 

но имеет исключение Kotlin: Only classes are allowed on the left hand side of a class literal

Как получить класс из общего параметра?

Какие другие параметры, кроме класса, могут быть переданы как param?

Чтобы получить доступ к родовым типам внутри функции, вам нужно сделать типы reified . Поскольку это не поддерживается JVM, он доступен только для встроенных функций:

 inline fun <reified T : Any> put(value: T) { val clazz = T::class.java } 

Ограничение типа Any требуется для предотвращения некоторых осложнений с типами NULL.

исправлено

 fun <T: Any> put(value: T){ val clazz = value.javaClass }