Почему @SafeVarags нельзя применить к методам экземпляра в конечном классе?
Согласно документации SafeVarargs
, аннотацию @SafeVarargs
можно применять только к конструкторам или методам переменной арности, которые являются либо static
, либо final
. Это, я прочитал , чтобы устранить проблемы с наследованием аннотаций; то есть, аннотации к методам допускаются только в том случае, если метод не может быть переопределен. Очевидно, что конструкторы, методы static
и методы final
не могут быть переопределены. Однако, ни один из методов private
или методов в final class
не может. Кто-то жаловался на невозможность определить @SafeVarargs private
методы, нони один из этих вопросов не был решен . В общем, кажется, что никому нет до этого дела. Я что-то упустил? Жалуюсь ли я на то, что не имеет никакого практического применения? Или... ?
1 ответ:
Это планируется исправить в Java 9; см. http://openjdk.java.net/jeps/213 .