Difference between case object and object

后端 未结 7 505
梦如初夏
梦如初夏 2020-12-02 04:36

Is there any difference between case object and object in scala?

7条回答
  •  一生所求
    2020-12-02 04:58

    scala> object foo
    

    defined object foo

    scala> case object foocase
    

    defined object foocase

    Serialization difference:

    scala> foo.asInstanceOf[Serializable]
    

    java.lang.ClassCastException: foo$ cannot be cast to scala.Serializable
    ... 43 elided

    scala> foocase.asInstanceOf[Serializable]
    

    res1: Serializable = foocase

    toString difference:

    scala> foo
    

    res2: foo.type = foo$@7bf0bac8

    scala> foocase
    

    res3: foocase.type = foocase

提交回复
热议问题