扩展密封特性的案例类的“ fromString”方法

时间:2019-03-15 00:33:02

标签: scala case-class sealed

是否有一种惯用的方式在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?还有吗感觉这种“反序列化”模式可能已经存在,或者具有可以在现有软件包中找到的标准方法。

1 个答案:

答案 0 :(得分:1)

为密封特征使用伴侣对象。