美文网首页
Kotlin 如何判断泛型参数是否可空

Kotlin 如何判断泛型参数是否可空

作者: Gascognya | 来源:发表于2021-12-31 17:09 被阅读0次

    当使用inline和reified的时候,我可以可以获取真实的KClass,但KClass是没有可空概念的。
    String和String?的KClass是同一个。
    这个时候如果我想判断传进来的类型是String还是String?该怎么办?

    inline fun <reified T> test(){
        val kType = typeOf<T>()
        println(kType.isMarkedNullable)
    }
    
    fun main() {
        test<String>()
        test<String?>()
    }
    

    使用typeof,把T转成KType即可,KType是封装过的KClass,包含了是否可空的信息。

    相关文章

      网友评论

          本文标题:Kotlin 如何判断泛型参数是否可空

          本文链接:https://www.haomeiwen.com/subject/vdtnqrtx.html