樣例類在scala中是第一種特殊的類,可用於模式匹配(但在基於版本2.11.8測試中普通的類也能進行模式匹配),case class是多例的,後面需要加引數(無參也要加上括號),case object 是單例的。
import scala.util.random
abstract class animal extends flyable
}trait flyable
/** *在scala中樣例類是一中特殊的類,可用於模式匹配。
* case class是多例的,後面要跟構造引數,case object是單例的
*/case object cat extends animal
case class dog() extends animal
case class bird() extends animal
val animalarr = array[animal](cat, new dog, new bird)
val animal = animalarr(random.nextint(animalarr.length))
animal match
}
【來自@若澤大資料】
scala 密封類與樣例類
密封類 1,使用 sealed 修飾的類或者特質,不能在類定義檔案之外定義它的子類 2,可以避免濫用繼承 3,用在模式匹配之中,可以讓編譯器在編譯階段進行檢查,確保當前匹配的完整性package day01 sealed abstract class furniture 定義兩個樣例類 case c...
Scala模式匹配和樣例類
scala 有乙個十分強大的模式匹配機制,可以應用到很多場合 如 switch 語句 型別檢查等。並且 scala 還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配。package cn.cheng.cases import scala.util.random val arr array ha...
Scala 模式匹配和樣例類
scala的模式匹配機制,可以應用到很多場合 scala還提供了樣例類,對模式匹配進行了優化,可以快速進行匹配 匹配字串 todo 匹配字串 類似 switch 定義乙個陣列 val arr array hadoop zookeeper spark storm 隨機取陣列中的一位,使用random....