通过反射查找可为空的属性

Find nullable properties through reflection

有没有办法列出允许 return null 的对象的所有属性?

val cls = javaClass<T>().kotlin

for(property in cls.properties) {
    if(property.accessible) {
        //Is it nullable?

    }
}

您正在寻找的 API 是在最新的 Kotlin 版本 (0.13.213+) 中引入的。您现在可以获取 属性 的类型并查看它是否在源代码中被标记为可为空:

val property = ...
if (property.returnType.isMarkedNullable) {
    ...
}