case object和普通object有什麼區別

要說case object用於模式匹配,普通object也能被用於模式匹配中,看例子:網絡

scala> trait IA
defined trait IA

scala> val x :IA = A4
x: IA = A4$@939bdb

scala> x match{
     | case A4 =>
     | }

看上去沒有什麼區別。Google了一下,發現stackoverflow.com上也有人提出疑問( http://stackoverflow.com/questions/5270752/difference-between-case-object-and-object)。其實在我看來最主要的區別是,case object 所定義的對象能用於序列化,而普通的object不能,這在使用Actor編寫網絡程序時尤爲要注意。
相關文章
相關標籤/搜索