通过反思find可空的属性

有没有办法列出允许返回空值的对象的所有属性?

val cls = javaClass().kotlin for(property in cls.properties) { if(property.accessible) { //Is it nullable? } } 

您正在寻找的API是在最新的Kotlin版本中引入的(0.13.213+)。 你现在可以采取一个属性的types,并找出它是否被标记为可以在源代码中为空:

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