파라메터로 객체를 넘겼을 때 다음과 같은 코드는 잠재적으로 예외가 발생할 수 있다.
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
'Programing > JVM(Java, Kotlin)' 카테고리의 다른 글
TreeMap 정렬 순서 바꾸기 (0) | 2016.09.05 |
---|---|
[Java Anti-pattern] Passing the Arbitrary Number of Arguments (0) | 2016.09.02 |
[mokito] any~ 정리 (0) | 2015.06.30 |
guava MyBatis에서 괜찮은 쓰임새 (2) | 2015.06.29 |
[IntelliJ IDEA] lombok 그게 뭐지? (0) | 2015.04.29 |