HOWTO · Java
Java - 메서드 인수에서 NotNull 주석 사용
이 자습서는 @NotNull 주석에 대해 교육하고 Java의 메서드 인수에서 이를 사용할 수 있는 방법을 보여줍니다.
이 페이지의 내용
오늘의 자습서에서는 @NotNull 주석에 대해 설명하고 코드 예제를 사용하여 Java에서 작업하는 동안 메서드 인수에서 이를 사용할 수 있는 방법을 보여줍니다.
@NotNull 주석 개요
null 값을 반환하지 않도록 변수 또는 메서드를 설정하려면 @NotNull 주석을 사용할 수 있습니다. 이것은 표준 JSR 주석이며 주석이 달린 속성 값이 null이 아닌지 확인합니다.
@NotNull의 특징은 메소드를 @NotNull로 설정하면 null 값을 반환하지 않으며 변수가 @NotNull로 설정되면 null을 보유할 수 없다는 것입니다. 값.
중요한 점은 부모 메서드에 @NotNull이 포함된 경우 해당 자식에 @NotNull 주석을 추가해야 한다는 것입니다. 다음으로 메서드 인수에서 사용하는 방법을 알아보기 위해 아래의 코드 펜스로 이동하겠습니다.
메서드 인수에서 @NotNull 주석 사용
예제 코드:
import javax.validation.constraints.NotNull;
public class JavaNotNull {
int sum(@NotNull int a, int b) {
return a + b;
}
public static void main(String args[]) {
JavaNotNull jnn = new JavaNotNull();
System.out.println("The sum is: " + jnn.sum(5, 5));
}
}
출력:
The sum is: 10
위의 예에서 @NotNull에 필요한 패키지를 import javax.validation.constraints.NotNull;으로 포함시킨 다음 sum()이라는 메서드를 생성하여 해당 값을 로 설정했습니다. @NotNull.
sum() 메서드는 두 변수 간의 합계 연산 결과를 반환합니다. 그런 다음 JavaNotNull 클래스의 개체를 만들고 해당 메서드 sum()을 호출하여 위의 출력을 얻었습니다.
위 예제의 sum()에 null 변수를 전달하려고 하면 어떻게 되는지 생각하고 계십니까?
답은 위의 예에서 메서드 변수를 @NotNull로 설정했기 때문에 null 값을 받을 수 없다는 것입니다. 다음 업데이트된 예에서는 null 값을 sum() 메서드에 전달하여 어떤 일이 발생하는지 확인합니다.
업데이트된 예제 코드:
import javax.validation.constraints.NotNull;
public class JavaNotNull {
int add(@NotNull int a, int b) {
return a + b;
}
public static void main(String args[]) {
JavaNotNull jnn = new JavaNotNull();
// We are trying to pass a null value here
System.out.println("The sum is: " + jnn.add(null, 5));
}
}
이제 위의 코드 예제를 실행하려고 하면 아래와 같은 오류가 발생합니다. 메서드를 @NotNull로 설정했기 때문에 null 값을 받을 수 없습니다.
error: Class names, 'JavaNotNull', are only accepted if annotation processing is explicitly requested
1 error
중요한 참고 사항은 null 값으로 메서드를 호출하고 해당 메서드가 @NotNull로 설정된 경우입니다. 런타임에 NullPointerException이 발생할 수 있습니다.