본문 바로가기

Programing/JVM(Java, Kotlin)

[annotaion] javax.annotation.Nullable

파라메터로 객체를 넘겼을 때 다음과 같은 코드는 잠재적으로 예외가 발생할 수 있다.

public long apply(@Nullable Item item) {
return item.getPrice();
}

만약 item이 null로 넘어갔을 경우 getPrice 메서드를 호출하는 순간 NullPointerException이 발생할 것이다.


인자에 위와 같이 @Nullable로 표시를 할 수 있다.

반면에 반대의 경우에는 @Nonnull으로 표시할 수 있다.


이러한 것들은 JSR305 스펙에 의한 것들로 다음과 같은 것들이 있다.

CheckForNull

CheckForSigned

CheckReturnValue

Detainted

MatchesPattern$Checker

MatchesPattern

Nonnegative$Checker

Nonnegative

Nonnull

Nullable

OverridingMethodsMustInvokeSuper

ParametersAreNonnullByDefault

ParametersAreNullableByDefault

PropertyKey

RegEx

Signed

Syntax

Tainted

Untainted

WillClose

WillCloseWhenClosed

WillNotClose


@com.google.code.findbugs