case

20 阅读1分钟

//case class 可以在自定义对象时 省略new //case class 的属性在默认情况下是只读的 如果希望可一修改 那需要主动使用var //case class 会自动重写 equals tostring

//当我们只需要使用类表示数据的时候 就可以选择使用caseclass他更加简单

package caseclass

import caseclass.case01.Student

object case01 {
  case class Student(var id: String, var namae: String) {

  }


  def main(args: Array[String]): Unit = {
    val stu1 = new Student("1", "小虎")
    val stu2 = new Student("1", "小虎")
    println(stu1)
    println(stu1 == stu2)
    val set1 = Set(stu1,stu2)
    println(set1)
  }
}

package caseclass
//case class 可以在自定义对象时 省略new
//case class 的属性在默认情况下是只读的 如果希望可一修改 那需要主动使用var
//case class 会自动重写 equals tostring

//当我们只需要使用类表示数据的时候 就可以选择使用caseclass他更加简单
object case02 {
  case class Student1(var id: String, var namae: String) {

  }
  class Student2(var id: String, var namae: String) {

  }


  def main(args: Array[String]): Unit = {
    val stu1 = new Student1("1", "小虎")
    val stu2 = new Student2("1", "小虎")
    println(stu1)

    println(Student1("1","小虎"))
  }
}

case class(群例类)v.s.class(类)

2025-12-3 16-2-23.JPG