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)


  }
}
相关推荐
howard20053 天前
1.6.1 掌握Scala数据结构 - 数组
scala·定长数组·变长数组
渣渣盟5 天前
Flink Table API与SQL流数据处理实战
大数据·sql·flink·scala
howard20057 天前
1.5 掌握Scala内建控制结构
scala·内建控制结构
howard20057 天前
1.1.2 Windows上安装Scala
scala·windows版本
allway28 天前
Debian Regular Expressions
运维·debian·scala
、BeYourself10 天前
Scala 字面量
开发语言·后端·scala
、BeYourself18 天前
Scala 数据类型
开发语言·后端·scala
howard200518 天前
1.2 Scala变量与数据类型
scala·变量·数据类型·常量