是否有一种惯用的方法在fromString
上生成类似sealed trait
方法的东西用于case classes
?
例如,类似于:
sealed trait ExampleEnum {def id: Any}
final case class One(first: String) extends ExampleEnum{ override def id = first}
final case class Two(first: String, second: String) extends ExampleEnum { override def id = (first, second) }
def fromString(s: String): ExampleEnum
应该在哪里? object
的伴侣sealed trait
?别的什么?感觉这种“反序列化”模式将存在或具有可在现有包中找到的标准方法。
使用伴随对象作为密封特征。