java.io.Serial 어노테이션이 추가되기에 적합하지 않은 SerializableExternalizable 클래스 내 메서드 및 필드를 보고합니다.

예:


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