gpt4 book ai didi

kotlin - 关于Kotlin中的Int::class.java.isInstance()的困惑

转载 作者:行者123 更新时间:2023-12-02 12:43:47 26 4
gpt4 key购买 nike

Int::class.java.isInstance(4)的结果为false。

但是String::class.java.isInstance("aa")是正确的。

像这样的函数中Int类型检查的正确方法是什么。

fun <T> castValue(v: Any?, clazz: Class<T>): T? {
if (v != null && clazz.isInstance(v) return v as T
return null
}

val result = castValue(4, Int::class.java)

最佳答案

您可以使用reified类型参数实现此目的:

inline fun <reified T> cast(value:Any?): T? = value as? T

并这样称呼它:
cast<Boolean>(false)

关于kotlin - 关于Kotlin中的Int::class.java.isInstance()的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46066345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com