scala教程:case class样例类

说明

声明了一个 样例类,Scala 编译器自动做下面事情:

  • 创建 case class 和它的伴生 object

  • 实现了 apply() 方法,不需要通过 new 来创建类实例

  • 默认为主构造函数参数列表的所有参数前加 val

应用场景

  • 可以搭配 匹配模式,用于 匹配 对象

  • 元组,如下图:

语法

通过 case class 定义样例类

案例1

主构造函数的参数,如果不加 var,就表示 val 常量,即:不能改变属性值

定义样例类:

case class Student(name:String,gender:String,age:Int,height:Double)

使用:

package stdscala

object Test {

  def main(args: Array[String]): Unit = {
    // 实现了 apply 方法,不需要通过 new 来创建类实例
    val lilei: Student = Student("李雷", "男", 20, 1.82)
    // 不能改变数据
//    lilei.name = "韩梅梅"
  }
}

案例2

主构造函数的参数,如果加 var,就表示变量,即:可以 改变属性值

定义样例类:

case class Student(var name:String,var gender:String,var age:Int,var height:Double)

使用:

package stdscala

object Test {

  def main(args: Array[String]): Unit = {
    val lilei: Student = Student("李雷", "男", 20, 1.82)
    // 可以改变数据
    lilei.height = 1.83
    println(lilei)
  }
}

参考:
https://blog.csdn.net/hellojoy/article/details/81034528


原文出处:/show_1IX4K3Mwk7k4.html