Я хочу сделать свой код более читаемым, а также использовать инструменты, такие как проверка кода IDE и/или анализ статического кода (FindBugs и Sonar), чтобы избежать NullPointerExceptions. Многие из инструментов кажутся несовместимыми с аннотациями @NotNull/@NonNull/@NonNull друг друга, и перечисление всех из них в моем коде было бы ужасно для чтения. Любые предложения, которые являются "лучшими"? Вот список эквивалентных аннотаций, которые я нашел:
-  javax.validation.constraints.NotNull
 Создан для проверки времени выполнения, а не для статического анализа.
 документация
-  edu.umd.cs.findbugs.annotations.NonNull
 Используется Findbugs статический анализ и, следовательно, Sonar (теперь Sonarqube)
 документация
-  javax.annotation.Nonnull
 Это может работать и с Findbugs, но JSR-305 неактивен. (См. Также: Каков статус JSR 305?) source
-  org.jetbrains.annotations.NotNull
 Используется IntelliJ IDEA IDE для статического анализа.
 документация
-  lombok.NonNull
 Используется для управления генерации кода в Project Lombok.
 Аннотации заполнителя, так как нет стандарта.
 источник, документация
-  android.support.annotation.NonNull
 Аннотации маркера доступны в Android, предоставляемые пакетом поддержки-аннотаций
 документация
-  org.eclipse.jdt.annotation.NonNull
 Используется Eclipse для статического анализа кода
 документация

