Я хочу сделать свой код более читаемым, а также использовать инструменты, такие как проверка кода 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 для статического анализа кода
документация