gpt4 book ai didi

java - 使用 serialVersionUID 还是禁止警告?

转载 作者:IT老高 更新时间:2023-10-28 13:52:19 25 4
gpt4 key购买 nike

我想创建一个类,例如,扩展 HttpServlet?我的编译器警告我,我的类应该有一个 serialVersionUID。如果我知道这个对象永远不会被序列化,我应该定义它还是添加注释来禁止这些警告?

你会做什么,为什么?

最佳答案

我不知道 Java 的最佳实践,但我突然想到,如果你声称序列化永远不会发生,你可以添加一个 writeObject 方法来抛出。然后压制警告,知道它不可能适用于您。

否则将来有人可能会通过父类序列化您的对象,并以默认的序列化形式结束:

  • 该表单在您的代码的不同版本之间不兼容。
  • 您已取消显示这种情况的警告。

添加一个 ID 听起来像是一个麻烦,因为您真正想要做的不是序列化。期望调用者不序列化您的对象意味着您期望他们“知道”他们的 HttpServlet 何时属于您的类。拥有一个不能序列化的 Serializable 对象是对多态性的破坏,至少你能做的就是确保粗心的调用者知道它。

关于java - 使用 serialVersionUID 还是禁止警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/146715/

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