报告 SerializableExternalizable 类中不适合使用 java.io.Serial 注解进行批注的方法和字段。

示例:


class Test implements Serializable {
  @Serial // 批注字段不是序列化机制的一部分,因为它并非 final
  private static long serialVersionUID = 7874493593505141603L;

  @Serial // 批注方法不是序列化机制的一部分,因为它并非 private
  void writeObject(ObjectOutputStream out) throws IOException {
  }
}

class Test implements Externalizable {
  @Serial // 批注方法不是序列化机制的一部分,因为它在 Externalizable 类内部
  private void writeObject(ObjectOutputStream out) throws IOException {
  }
}

有关所有有效情况的信息,请参阅 java.io.Serial 的文档。

仅当项目或模块的语言级别为 14 级或更高级别时,才适用此检查。

2020.3 的新功能