Scala中的case class

case class是Scala中一种特殊的类,它用于创建不可变的数据容器

Scala 复制代码
//Set特点:去重
//设置一个Book。三个属性:书名,作者,价格
class Book1(bookName:String,author:String,price:Double){
  //判断一个类的两个对象是否相等
//  override def equals(obj: Any): Boolean = {
//    //判断依据是书名相同
//    val o=obj.asInstanceOf[ttttt.Book]
//    o.bookName==bookName
//  }
//
//  override def toString: String = s"书名是:$bookName,作者是:$author,价格是:$price"
//
//  override def hashCode(): Int = bookName.hashCode
}

//casa class的特点
//1.数据是只读的
//2.可以省略new
//3.它内置实现了一些方法
//  equals hashCode toString
case class BookCase(bookName:String,author:String,price:Double)

object t4 {
  def main(args: Array[String]): Unit = {
    val book1=new Book1("西游记","吴承恩",100)
    val book11=new Book1("西游记","吴承恩",100)
    val set1=Set(book1,book11)
    println(set1)


    val book2=BookCase("西游记","吴承恩",100)
    val book3=BookCase("西游记","吴承恩",100)

    println(book1 == book11)
    println(book2 == book3)

    println(book1)//println会自动去调用对象的toString方法
    println(book2)


  }
}
相关推荐
开开心心就好9 天前
用户推荐的文件解锁与强制操作工具
安全·智能手机·pdf·scala·音视频·symfony·1024程序员节
WL_Aurora11 天前
Scala核心编程(二):变量与数据类型详解
开发语言·scala
WL_Aurora11 天前
Scala核心编程(一):Scala语言概述与快速入门
spark·scala
o丁二黄o13 天前
语义版本控制:用Gemini镜像站实现合同条款的深度差异分析与风险追踪
javascript·kotlin·scala
与仪共舞15 天前
罗德与施瓦茨 NRP18S|三路二极管射频功率传感器
scala·数据库架构
howard200519 天前
1.8.3 掌握Scala类与对象 - Scala基本骨架方法
scala·基本骨架方法
howard200520 天前
1.9 掌握Scala抽象类与特质
scala·抽象类·特质
howard200521 天前
1.8.2 掌握Scala类与对象 - 单例对象与伴生对象
scala·伴生对象·单例对象
howard200523 天前
1.7.1 掌握Scala函数 - 声明Scala函数
scala·声明scala函数·显式声明·隐式声明
howard200525 天前
1.6.4 掌握Scala数据结构 - 元组
scala·元组