case class:函數
1.定義爲case class 的類在實例化時,能夠不使用new 關鍵字。spa
case class People(name:String, age:Int) val zhangsan = People("zhangsan", 30)
2. 定義爲case class 的類 默認實現了 equals 和hashcode 方法scala
3. 默認是可序列化的code
4. 其構造函數的參數 是public 訪問的。如 zhangsan.nameblog
5.支持模式匹配:
hash
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))