Подтвердить что ты не робот

Почему аннотация @SafeVarargs не применяется к методам неделанных экземпляров?

Почему аннотация @SafeVarargs не может применяться к методам неделанных экземпляров?

4b9b3361

Ответ 1

Если вы объявите @SafeVarargs, вы должны быть уверены, что это действительно безопасно. Если метод не является окончательным, его можно переопределить в подклассе. Это переопределение может быть небезопасным.

Требовав, чтобы метод был final, разработчик может гарантировать, что сделанное им выражение (а именно, что его использование varargs безопасно) на самом деле всегда верно (при условии, что разработчик действительно предоставил безопасный метод varargs) и что он не был фактически нарушен подклассом, неправильно переопределяющим метод.