【发布时间】:2018-11-16 12:57:34
【问题描述】:
假设我有以下:
fun makeSound(val animal: Animal) = when(animal) {
is Lion -> animal.roar()
is TRex -> animal.roar()
is Cow -> animal.moo()
}
通常我会通过简单地添加RoaringAnimal 接口并询问is RoaringAnimal 来简化此操作。但是还有另一种方法可以将多个is 子句组合成一个子句吗?
【问题讨论】:
-
你为什么想要在这里结合
is Lion和is TRex的东西?以您展示的方式使用它还不够简单吗?否则,如果可能的话,我宁愿更新你的层次结构......(旁注:val在这里可能是错误的,=需要详尽的when)