gpt4 book ai didi

class - kotlin.reflect.KClass.isInstance(value:Any?)不起作用

转载 作者:行者123 更新时间:2023-12-02 13:12:51 29 4
gpt4 key购买 nike

我正在尝试以下

"simple string"::class.isInstance(kotlin.String)

但是它返回 !

I'm using

"org.jetbrains.kotlin:kotlin-reflect:1.3.21"



另一个例子也失败了
1::class.isInstance(kotlin.Int)
true::class.isInstance(Boolean)

请帮助我理解它!

最佳答案

您使用的API错误,isInstance函数执行相反的检查,如文档所示:

Returns true if [value] is an instance of this class on a given platform.


kotlin.Int行未引用类型,您错过了 ::class

一个可能的解决方案是翻转声明:
String::class.isInstance("a string")  /// true
Int::class.isInstance(42) /// true

您还可以比较KClass对象,例如 432::class == Int::class或使用KClass函数 isSubclassOfisSuperclassOf

关于class - kotlin.reflect.KClass.isInstance(value:Any?)不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55386660/

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