В моих настройках рабочего пространства Eclipse Neon я проверил [x] Enable annotation-based null analysis
. Теперь, когда я делаю Assign statement to new variable
из быстрой помощи, Eclipse иногда добавляет @NonNull
к новой переменной. Так Intead линии 1, я линия 2:Eclipse Neon quick assist автоматически добавляет @NonNull
Deprecated annotation = Main.class.getAnnotation(Deprecated.class); // line 1
@NonNull Deprecated annotation = Main.class.getAnnotation(Deprecated.class); // line 2
Возникают два вопроса:
Как включить и отключить такое поведение? Во втором проекте в той же рабочей области Eclipse этого не делает. Таким образом, это зависит не только от нулевого анализа на основе аннотаций, который был настроен в настройках рабочей области.
Почему Затмение заключить
annotation
является@NonNull
, а возвращаемое значение может быть ясно бытьnull
(документация):
java.lang.annotation.Annotation java.lang.Class.getAnnotation(java.lang.Class annotationClass)
Возвращает аннотация этого элемента для указанного типа, если такие аннотация настоящее время, еще null.