Annotation SOURCE Retention Policy

Из Java doc:

CLASS: Аннотации должны быть записаны в файл класса компилятором, но не должны сохраняться виртуальной машиной во время выполнения.

RUNTIME: Аннотации должны быть записаны в файл класса компилятором и сохранены виртуальной машиной во время выполнения, так что они могут быть прочитаны рефлексивно.

ИСТОЧНИК: Аннотации должны быть отброшены компилятором.

Я понимаю использование RUNTIME (для использования аннотации с отражением) и CLASS (для компилятора), но не понимаю, когда может быть полезно использовать

@Retention(RetentionPolicy.SOURCE)

Можете объяснить?

24
задан JohnJohnGa 8 November 2011 в 10:23
поделиться

1 ответ

Этот ответ имеет смысл - https://stackoverflow.com/a/43910948/3009968.

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

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

0
ответ дан 29 November 2019 в 00:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: