Java Lombok | 메소드 인자 널 체크 - @NonNull
@NonNull
@NonNull
으로 메소드의 인수를 주석하면 null 체크가 자동으로 생성된다.
package com.devkuma.tutorial.lombok;
import lombok.NonNull;
public class NonNullTutorial {
public static void main(String[] args) {
method("devkuma");
method(null);
}
private static void method(@NonNull String value) {
System.out.println(value);
}
}
실행 결과:
devkuma
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.1.1/userguide/command_line_interface.html#sec:command_line_warnings
2 actionable tasks: 2 executed
Exception in thread "main" java.lang.NullPointerException: value is marked non-null but is null
at com.devkuma.tutorial.lombok.NonNullTutorial.method(NonNullTutorial.java:11)
at com.devkuma.tutorial.lombok.NonNullTutorial.main(NonNullTutorial.java:8)
위 코드는 @NonNull
로 인해 아래와 같이 변경된다.
package com.devkuma.tutorial.lombok;
import lombok.NonNull;
public class NonNullTutorial {
public NonNullTutorial() {
}
public static void main(String[] args) {
method("devkuma");
method((String)null);
}
private static void method(@NonNull String value) {
if (value == null) {
throw new NullPointerException("value is marked non-null but is null");
} else {
System.out.println(value);
}
}
}
value
변수에 대한 널 체크를 하고 자동생성 된 것을 볼 수 있다.
최종 수정 : 2024-01-18