Ответ 1
Если у вас есть экземпляр java.lang.reflect.Field
для свойства, вы можете сначала получить исходное представление Kotlin этого свойства, переведя его в экземпляр kotlin.reflect.KProperty
с kotlin.reflect.jvm.ReflectJvmMapping
, а затем получить тип и проверить его допустимость или все остальное:
public static boolean isNullable(Field field) {
KProperty<?> property = ReflectJvmMapping.getKotlinProperty(field);
return property.getType().isMarkedNullable();
}