Как я могу проверить, содержит ли переменная KType значение типа kotlin, допускающего значение NULL (например, Int?)?
У меня есть
var type: KType
переменная, полученная из KProperty<*>.returnType
, и мне нужно определить, равна ли она определенным типам kotlin (Int, Long и т. д.). Это работает с:
when (type) {
Int::class.defaultType -> ...
Long::class.defaultType -> ...
else -> ...
}
но это работает только для ненулевых типов, поэтому первая ветвь не соответствует Int? Однако я все еще не мог понять, как я могу определить, является ли тип Int? другое, чем очевидное, но не такое приятное
type.toString().equals("kotlin.Int?")