Они оба означают одно и то же. @Deprecated
это просто сокращение для @Deprecated()
. См. §9.7.2. Примечания к маркеру из Java Спецификация языка :
A примечание к маркеру - это сокращение, предназначенное для использования с типами примечаний к маркеру (§9.6 .1).
MarkerAnnotation:
@ TypeName
Это сокращение от обычной аннотации:
@TypeName()
Допустимо использовать аннотации маркера для типов аннотаций с элементами, поэтому пока все элементы имеют значения по умолчанию (§9.6.2).
Пример 9.7.2-1. Аннотации маркеров
Ниже приведен пример использования типа аннотации маркера Preliminary
из §9.6.1:
@Preliminary public class TimeTravel { ... }
Начиная с Java 8, аннотация @Deprecated
не имела элементов, поэтому она могла быть только аннотацией маркера. Однако, начиная с Java 9, теперь он имеет два элемента: since
и forRemoval
. Но поскольку эти элементы имеют значения по умолчанию, аннотация все еще может использоваться как аннотация маркера.