scala 學習: case class


case class:

1.定義為case class 的類在實例化時,可以不使用new 關鍵字。

case class People(name:String, age:Int)

val zhangsan = People("zhangsan", 30)

2. 定義為case class 的類 默認實現了 equals 和hashcode 方法

3. 默認是可序列化的

4. 其構造函數的參數 是public 訪問的。如  zhangsan.name

5.支持模式匹配:

scala> case class PhoneExt(name: String, ext: Int)
defined class PhoneExt

scala> val extensions = List(PhoneExt("steve", 100), PhoneExt("robey", 200))
extensions: List[PhoneExt] = List(PhoneExt(steve,100), PhoneExt(robey,200))

scala> extensions.filter { case PhoneExt(name, extension) => extension < 200 }
res0: List[PhoneExt] = List(PhoneExt(steve,100))

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM