record クラスで定義されているシリアル化メソッドまたはフィールドを報告します。
報告対象のシリアル化メソッドには、writeObject()、readObject()、readObjectNoData()、writeExternal()、readExternal() およびフィールド serialPersistentFields が含まれます。
このようなメンバーは、レコードのシリアル化または逆シリアル化には使用されないため不要です。
例:
record R1() implements Serializable {
// このフィールドはレコードをシリアル化中には無視されます
@Serial
private static final ObjectStreamField[] serialPersistentFields = new ObjectStreamField[0];
// このメソッドはレコードをシリアル化中には無視されます
@Serial
private void writeObject(ObjectOutputStream out) throws IOException {
}
}
record R2() implements Externalizable {
// このメソッドはレコードをシリアル化中には無視されます
@Override
public void writeExternal(ObjectOutput out) throws IOException {
}
// このメソッドはレコードをシリアル化中には無視されます
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
}
}
2020.3 の新機能です