我有一个密封班
sealed class Seal {
object Type1
object Type2
}
,我想知道一个对象是从“印章”派生的 例如
when (thing) {
is Type1 -> {}//this returns true
is Seal -> {}//this returns false
}
是否可以检查“事物”类型是否为“密封”,而不是检查其类型为“ Type1”还是“ Type2”?
答案 0 :(得分:3)
Type1
和Type2
的类型为Seal
,不是!为此,您必须使它们继承密封的类:
sealed class Seal {
object Type1 : Seal()
object Type2 : Seal()
}
现在这两种情况都是正确的:
when (thing) {
is Type1 -> {}//this returns true
is Seal -> {}//this returns true
}
更多信息,请访问kolin doc。