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의 새로운 기능