gpt4 book ai didi

java - 在这种情况下,与添加 serialVersionUID 相比,抑制警告不是更好的选择吗?

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:24 24 4
gpt4 key购买 nike

网络应用中的一个常见场景:

  • 应用程序有很多类需要存储在 Session 中并且是可序列化的
  • 开发人员收到一堆关于“Serializable class does not implement serialVersionUID”的警告
  • 开发人员耸耸肩并点击 IDE 的“添加 serialversionUID”,问题就解决了吗?

我原则上不喜欢自动添加 serialVersionUID,因为解决方案本质上意味着

  • 最重要的是,开发人员声明“我知道我的更改何时会破坏序列化,何时不会,并且想要控制它而不是 JVM”,而事实上他不知道并不知道这些事情想控制他们
  • 添加 serialVersionUID = 6266256561409620894L 令人困惑且丑陋(好吧,你可以使用 1L)

我了解在存在类兼容性问题的应用程序中添加 serialVersionUID,并且开发人员积极考虑并了解相关问题。

在典型的 Web 应用程序中,类的序列化是否中断并不重要。部署新版本时,一些无关的序列化 session 可能会中断,但这通常不是问题(很少有应用程序真正正确地处理序列化 session 的版本兼容性)。

底线:“始终在源文件中明确定义 serialVersionUID”的建议不是过于简单化了吗?

最佳答案

我同意你的看法,并对我当前的项目做同样的事情:在编译器选项中完全禁用此警告。

关于java - 在这种情况下,与添加 serialVersionUID 相比,抑制警告不是更好的选择吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7205635/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com