相关疑难解决方法(0)

覆盖unapply方法

我有一个来自库类的case,我想重写unapply方法来减少我需要传递的参数数量来进行模式匹配.我这样做:

object ws1 {
  // a library class
  case class MyClass(a: Int, b: String, c: String, d: Double /* and many more ones*/)

  // my object I created to override unapply of class MyClass
  object MyClass {
    def unapply(x: Int) = Some(x)
  }

  val a = new MyClass(1, "2", "3", 55.0 /* and many more ones*/)
  a match {
    case MyClass(x /*only the first one is vital*/) => x  // java.io.Serializable = …
Run Code Online (Sandbox Code Playgroud)

scala

6
推荐指数
1
解决办法
3266
查看次数

标签 统计

scala ×1