Scala可以創(chuàng)建具有常見內(nèi)容填充的類。
大多數(shù)時候,當(dāng)我們定義一個類時,我們必須編寫toString,hashCode和equals方法。
Scala提供了用于填充這些空白的case類機(jī)制,以及支持模式匹配。
case類提供與普通類相同的功能,但編譯器生成toString,hashCode和equals方法,您可以覆蓋。
可以在不使用新語句的情況下實例化Case類。
默認(rèn)情況下,case類的構(gòu)造函數(shù)中的所有參數(shù)都成為case類的屬性。
以下是創(chuàng)建case類的方法:
case class Stuff(name:String, age: Int)
我們可以創(chuàng)建一個沒有關(guān)鍵字new的Stuff實例:
vals = Stuff("David", 45) s: Stuff = Stuff(David,45)
調(diào)用case類的String方法:
s.toString
Stuff的equals方法做了深入的比較:
s == Stuff("David",45) s == Stuff("David",43)
而實例具有屬性:
s.name s.age
更多建議: