Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpAnDf 120 of 322 menu
◀ ▶

Значение по умолчанию в пометке

Не каждый элемент нужно указывать в скобках при каждом использовании метки. В объявлении @interface для элемента можно задать значение по умолчанию через ключевое слово default.

Если у метки один строковый элемент с запасным значением, объявление выглядит так:

@interface Layer { String name() default "core"; }

При использовании скобки можно опустить - компилятор подставит "core". Явное значение перекрывает запасное:

@interface Layer { String name() default "core"; } @Layer class CoreService { } @Layer(name = "edge") class EdgeService { }

Несколько элементов могут иметь default независимо. В скобках указывают только те поля, которые должны отличаться от запасных:

@interface Audit { String channel() default "app"; boolean enabled() default true; } @Audit class LoginFlow { } @Audit(channel = "admin", enabled = false) class AdminFlow { }

Для массива значение по умолчанию задают фигурными скобками. Пустой массив - обычный запасной вариант, когда метку вешают без списка:

@interface Scope { String[] zones() default {}; } @Scope class GlobalConfig { } @Scope(zones = {"eu", "us"}) class RegionConfig { }

Объявите метку с элементом tier и значением по умолчанию "free". Повесьте её на класс без скобок и на второй класс с явным уровнем "pro".

Добавьте элемент retries типа int с default = 3. На метод доставки повесьте метку, не указывая число повторов.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить