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)


  }
}
相关推荐
173113 小时前
scala中访问控制与方法重写
scala
张较瘦_2 天前
[论文阅读] 从 5MB 到 1.6GB 数据:Java/Scala/Python 在 Spark 中的性能表现全解析
java·python·scala
还是大剑师兰特7 天前
Scala面试题及详细答案100道(81-90)-- 框架与生态
scala·大剑师·scala面试题
孤岛奇兵常凯申9 天前
Scala中的高阶函数(一)
scala
盛小夏9 天前
用 Python 把汉诺塔玩成“魔法”:从递归到可视化,一篇就够!
scala
智海观潮13 天前
学好Spark必须要掌握的Scala技术点
大数据·spark·scala
盛小夏14 天前
用链式风格写代码,就像在搭积木
scala
盛小夏16 天前
元组(Tuple)详解:初学者必须掌握的数据结构
scala
赞鱼儿16 天前
Scala中函数的基本使用
scala
还是大剑师兰特18 天前
Scala面试题及详细答案100道(71-80)-- 与Java的交互
scala·大剑师·scala面试题