当前位置: 首页 > article >正文

Scala中的case class

case class是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)


  }
}


http://www.kler.cn/a/391092.html

相关文章:

  • MyBatis CRUD快速入门
  • MyBatisPlus 用法详解
  • 机器学习day3-KNN算法、模型调优与选择
  • aws(学习笔记第十二课) 使用AWS的RDS-MySQL
  • JavaEE进阶----SpringMVC(三)---响应的获取
  • 大数据面试题--kafka夺命连环问(后10问)
  • 在配置环境变量之后使用Maven报错 : mvn : 无法将“mvn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
  • 【PowerHarmony】电鸿蒙学习记录-准备工作
  • HarmonyOS开发 API 13发布首个Beta版本,解决了哪些问题?
  • java/SpingBoot
  • 数据仓库还是数据集市?这俩怎么选?
  • 图文组合-pytorch实现
  • 使用 Regex 在 Java 中使用 Logstash LogBack 屏蔽日志
  • 群控系统服务端开发模式-应用开发-前端个人资料开发
  • 基于51单片机俄罗斯方块游戏—可暂停
  • 一文了解git TAG
  • 通过scrapy和Django登录、爬取和持久化数据
  • 如何使用 SSH 连接并管理你的 WordPress 网站
  • 鸿蒙进阶篇-剩余和展开、简单和复杂类型
  • 丹摩征文活动 | SD3+ComfyUI的图像部署实践
  • linux安装zookeeper和kafka集群
  • C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(7)
  • 设计模式之单列模式(7种单例模式案例,Effective Java 作者推荐枚举单例模式)
  • 城镇住房保障:SpringBoot系统架构解析
  • 科技前沿:汽车智能玻璃,开启透明显示新纪元
  • 【二叉树】——