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

标签 kotlin

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

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) {
    ...
}

关于kotlin - 通过反射查找可为空的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31920640/

相关文章:

android - Kotlin 1.5 的构建速度明显慢于 1.4

ruby - Kotlin 的 With,用于 ruby

android - 为什么我的代码会显示我的Android Studio中不存在的文件错误?

java - 带有 5 个进度条的评级进度图表

gradle - 如何在 Gradle 中设置 Kotlin 源编码?

kotlin - Kotlin 的 DAO 应该返回 Optional 还是 null?

java - 使用 Kotlin 的数字运算是否与使用 Java 原语的运算一样快?

java - 从 Heroku 上的 Java/Kotlin 应用程序运行 Python 脚本

java - Spring——跳过此测试的飞路

构建 iOS 应用程序时,Kotlin/Native compileKotlinIosX64 任务失败