scala对象匹配

对象匹配中,什么才算匹配呢? 规则如下:
1)case中对象的unapply方法(对象提取器)返回some集合则为匹配成功
2)返回none集合则为匹配失败

object Square {
    
    
 // 说明
 // 1.unapply(z:Double):Option[Double] = {
    
    
     println("unapply被调用 z 是=” +z )
     None
     }
   def apply(z:Double): Doubel = z*z
   case Square(n) => println("匹配成功 n=" + n)
   case => println("nothing matched")
   }

1) 当case后面的对象提取器方法的参数为多个,则会默认调用def

猜你喜欢

转载自blog.csdn.net/qq_44104303/article/details/114786178