如果我想要一个序列化安全的单例,我应该更喜欢
case object Foo
或
object Foo extends Serializable
答案 0 :(得分:2)
我认为这取决于您打算如何使用此对象。 Case对象通常与case类一起使用,以表示代数数据类型中的某种初始或终端对象,例如Nil
或None
。常规对象通常是类的伴随,用于保存静态方法,如单例和工厂方法。
如果您计划将此对象与其他类一起使用,将其序列化,并在模式匹配中使用它,那么将其定义为案例对象对我来说似乎更自然。