Java的Kotlin:是否可以为空?

当从Java访问Kotlin类时,是否可以在运行时分辨特定字段是否可以空? 此外,是否有可能判断一个类是否是一个数据类?

即使是一个猜测就足够我的目的。 使用reflection也很好。

如果您有一个属性的java.lang.reflect.Field实例,则可以先通过kotlin.reflect.KProperty将其转换为kotlin.reflect.KProperty实例,然后获取该属性的原始Kotlin表示kotlin.reflect.jvm.ReflectJvmMapping ,然后获取types和检查其可空性或其他:

 public static boolean isNullable(Field field) { KProperty property = ReflectJvmMapping.getKotlinProperty(field); return property.getType().isMarkedNullable(); }