【问题标题】:What are the downsides of making a class Serializable?使类可序列化的缺点是什么?
【发布时间】:2017-03-22 19:18:43
【问题描述】:

想要在 Java / Scala 中深度复制对象。在做了一些研究之后,似乎序列化是最流行的方式。然而,这也意味着使类Serializable

如果有的话,在 Java / Scala 中创建一个类 Serializable 的缺点是什么?

【问题讨论】:

  • 一个缺点是你实际上应该*确保它可序列化的......也就是没有重复指针。
  • 参见Effective Java,第 74 条:明智地实现 Serializable
  • 这是一个有趣的问题。但是对于 StackOverflow,这个基本/一般问题是题外话。

标签: java scala serialization


【解决方案1】:

一个潜在的缺点是您的所有类成员也需要可序列化。换句话说,您将无法为您的类成员使用任何不可序列化的数据类型。

例如,在 APEX(Salesforce 的 Java)中,DOM.Document 类是不可序列化的,因此不可能创建具有 DOM.Document 类型成员的可序列化类。

您可以通过使用“瞬态”关键字来克服这个问题,但这也有缺点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-25
    相关资源
    最近更新 更多