В предварительной версии Java 5 аннотаций не было.В результате вы не смогли добавить метаданные в класс.
Чтобы пометить класс как сериализуемый, вам нужно было реализовать интерфейс Serializable (это просто маркер) и использовать далееtransient
ключевых слов, чтобы пометить поле как не сериализуемое при необходимости, что-то вроде:
public class MyClass implements Serializable {
...
private transient Bla field;
...
}
Теперь вы можете теоретически использовать аннотации (это идеальное использование для них) и иметь:
@Serializable
public class MyClass {
...
@Transient
private Bla field;
...
}
Но интерфейс и ключевое слово не устарели, и в Java 5 не было добавлено примечаний для их замены.
Каковы соображения относительно этого решения оставить интерфейс и ключевое слово?
Конечно, существует проблема совместимости с кодом до Java 5, но в какой-то момент, который закончится (например, в связи с новыми функциями обобщений, JLS указывает, что Возможно, что будущие версии Javaязык программирования запретит использование необработанных типов ).Так почему бы не подготовить путь для сериализованных аннотаций?
Есть мысли?(хотя я бы предпочел конкретные ссылки: D, которые I не смог найти)