六-1, Scala模式匹配对象及样例类

1. 提取器

六-1, Scala模式匹配对象及样例类

2. Unapply方法

快速上手, 可略过下面

  • Scala 提取器是一个实现了Unaply方法的对象;
  • Unapply方法算是apply方法的反向操作: unapply 接受一个对象, 然后从对象中提取值, 提取的值通常是用来构造该对象的值
  • 为了更快的理解, 我们有必要复习一下apply方法: , 简单说就是当我们把对象当做函数一样调用, 传值等, Scala会隐式的调用该对象的类中实现的apply方法;, 如我们有初始化一个Person类,并传入值, Person类如果实现了相应的apply(), 则Person(name, age) 等同于 new Person(name, age)
  1. apply 方法定义 object 中,用于创建对象;
  2. apply方法定义 class 中, 用于提取数据;
  3. unapply 方法 定义在 object 对象中, 用于提取对象数据;

六-1, Scala模式匹配对象及样例类
六-1, Scala模式匹配对象及样例类
六-1, Scala模式匹配对象及样例类
六-1, Scala模式匹配对象及样例类

  • 即便如此,笔者也不推荐这样做。 unapply 方法仅仅负责属性的 “提取”,不应该在该方法内部做过度的设计。我们应当使用条件守卫来将额外的判断逻辑安排在一个 “更显眼的位置”,以此提高代码的可读性。

六-1, Scala模式匹配对象及样例类

六-1, Scala模式匹配对象及样例类

3. 样例类

六-1, Scala模式匹配对象及样例类

上一篇:Centos6查看mysql-server信息


下一篇:CentOS6.x 7.x 8.x 服务器系统初始化设置