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编写网络程序时尤为要注意。
相关文章
相关标签/搜索