是否有一种惯用的方式在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
?还有吗感觉这种“反序列化”模式可能已经存在,或者具有可以在现有软件包中找到的标准方法。
答案 0 :(得分:1)
为密封特征使用伴侣对象。