Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala &引用;fromString";扩展密封特征的case类的方法_Scala_Case Class_Sealed - Fatal编程技术网

Scala &引用;fromString";扩展密封特征的case类的方法

Scala &引用;fromString";扩展密封特征的case类的方法,scala,case-class,sealed,Scala,Case Class,Sealed,是否有一种惯用的方法可以在密封的trait上生成类似fromString的方法,用于案例类 例如,类似于: 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 {

是否有一种惯用的方法可以在
密封的trait
上生成类似
fromString
的方法,用于
案例类

例如,类似于:

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
存在?
密封特征的伴随
对象
?还有别的吗?感觉这种“反序列化”模式将是存在的,或者具有在现有包中可以找到的标准方法。

对密封特征使用伴随对象。

对密封特征使用伴随对象