在我正在处理的项目中,有一些代码本质上如下所示: def tags: Seq[String] // othercase c: Beast => c.copy(tags = newTags).asInstanceOf[T]
// ten more cases to match each subclass代码可以工作,但是addTag方法看起来并不美观,原因有两个:首先,它使用了asInstance
考虑到下面的class和trait,我想要实现的是创建一个具有自己的特定类型的子类,即Engage和Event。这就是我现在所拥有的: val test: Option[String]我能够实现以下目标,但用处不大(因为这个类仍然是在scala中处理这个问题的正确方法是什么?在Java中,我们可以做到