목차
Java Null Check static analysis
Spring Framework null check annotations
Null 검사 Annotation과 FindBugs
참조
Java Null Check static analysis
jspecify
Checker Framework
-
Nullness Checker
NullAway
Eradicate
Java 에는 null 검사 관련 애노테이션이 매우 다양하다.
Spring Framework null check annotations
Spring Null-Safety Annotations | Baeldung
Null-safety (Spring Boot)
Protect Your Code from NullPointerExceptions with Spring's Null-Safety Annotations
IntelliJ IDEA
,
SpotBugs
,
SonarQube
등에서 인식한다.
Null 검사 Annotation과 FindBugs
JSR 305 annotation
은
javax
로 패키지가 시작되는데 이것은 Oracle 정책상 라이센스 위반이라서 사실상 사용 금지된 상태로 보인다.
그래도 JSR 305가 좋다는 글 -
When to Use JSR 305 for Nullability in Java - DZone
Null관련해서 소스에 지정하는 것은
Java FindBugs
의 JSR 305 annotation 을 사용한다. 이 어노테이션을 여러 Null Check 프레임워크들이 공통으로 사용한다.
@javax.annotation.Nullable
: null 일 수 있는 파라미터, 리턴값 등에 지정한다.
@javax.annotation.Nonnull
: 어노테이션을 지정하지 않은 파라미터 리턴값등은 무조건
@Nonnull
로 자동 지정된다.
Findbugs 자체는 의도적으로 null check를 느슨하게 하여 false alarm을 줄여놔서 촘촘하게 검사하지 못한다고 한다.
혹은 Uber
NullAway
,
Checker Framework
를 사용하는게 나을 듯.
참조
Getting Rid of the NullPointerException - 2020 Edition
nullpointerexception - Which @NotNull Java annotation should I use? - Stack Overflow
When to Use JSR 305 for Nullability in Java - DZone
The Checker Framework Manual: Custom pluggable types for Java
-
Checker Framework
외의 다른 null check annotation 목록.