在测试中:
if(v is BaseModel)
如果v是BaseModel类型的直接实例,则将断言true,但将
如果v不是BaseModel类型的直接实例,但从BaseModel继承,则断言false。如果Kotlin有一个关键字可以断言是真的,如果有一个关键字“来自”,这样的测试会很好
if(v is from BaseModel)
如果v的类是从BaseModel继承的,则将断言true。
但是Kotlin目前如何解决这个问题?
最佳答案
正如@Krzysztof Kozmic所说,您给出的示例完全符合您的要求。仅举一些例子:
// Built in types
val x: Int = 25
println(x is Number) // true
// Custom types
open class A
open class B : A()
open class C : B()
println(B() is A) // true
println(C() is A) // true
关于kotlin - 如何确定对象是否继承自Kotlin中的某个类?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43011309/