12.11.1 样例类最佳实践1

当我们有一个类型为Amount的对象时,可以用模式匹配来匹配他的类型,并将属性值绑定到变量(即:把样例类对象的属性值提取到某个变量,该功能有用)

package com.atguigu.day11.moshipipei

object CaseClassDemo1 {
  def main(args: Array[String]): Unit = {
    val arr = Array(Dollar(1000), Currency(10000, "RMB"))

    for (ele <- arr) {
      val res = ele match {
        case Dollar(v) => "$" + v
        case Currency(v, u) => v + u
        case _ => ""
      }
      println(res)
    }
  }
}

// 一个抽象类
abstract class Amount {}

// Dollar: 样例类 继承自 Amount
case class Dollar(value: Double) extends Amount {}

// Currency: 样例类
case class Currency(value: Double, unit: String) {}

Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-07-02 08:12:45

results matching ""

    No results matching ""