我有一个密封的类,它具有从它扩展的不同子类型。当我尝试使用 when 子句过滤子类型时,我不断收到未解析的引用“名称”
sealed class Fruit(val name: String) {
object APPLE : Fruit(“apple”)
data class BANANA(val isFruit: Boolean) : Fruit(“banana”)
}
internal object Random {
fun build(name: String): FruitNinja{
when(name) {
Fruit.APPLE.name -> {
return AppleFruitNinja()
}
// keep getting error here Unresolved reference: name
Fruit.BANANA.name-> {
return BananaFruitNinja()
}
}
}
}
如何使用“名称”参数在 when 子句中进行过滤并构建自定义对象。