java.io.Serial アノテーションを付けるのに適していない Serializable および Externalizable クラスのメソッドとフィールドを報告します。
例:
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 クラスの Javadoc を参照してください。
2020.3 の新機能です