ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] Objects.requireNonNull()의 사용법과 예시.
    Spring 2023. 8. 17. 16:48
    728x90

     

    스프링의 의존객체를 추가하던 중 "Objects.requireNonNull()"을 사용하게 되었다.

     

    정상

     

    import org.springframework.web.bind.annotation.RestController;
    import java.util.Objects;
    
    @RestController
    public class HelloController {
        public String hello(String name){
            SinpleHelloService sinpleHelloService = new SinpleHelloService();
    
            return sinpleHelloService.satHello(Objects.requireNonNull(name));
        }
    }

     

    Objects.requireNonNull() 메서드는 Java의 java.util.Objects 클래스에 있는 메서드로, 주어진 객체가 null이 아님을 확인하기 위해 사용된다. 이 메서드는 객체가 null인 경우 NullPointerException을 발생시킨다.

    주로 메서드 매개변수나 반환값으로 받은 객체가 null일 경우에 예외를 명시적으로 발생시키기 위해 사용되며 이를 통해 코드의 안정성을 높일 수 있다.

     

     

     

    ✅ Objects.requireNonNull()의 사용 예시 

    import java.util.Objects;
    
    public class Example {
        public static void main(String[] args) {
            String name = null;
    
            // name이 null이 아님을 확인하고, null이라면 NullPointerException 발생
            String result = Objects.requireNonNull(name);
    
            System.out.println(result);
        }
    }

     

    위의 코드에서 Objects.requireNonNull(name)은 name 변수가 null인지 아닌지를 확인하고, 만약 null이라면 NullPointerException을 발생시킨다.

     

    예시코드는 name 변수가 null이므로 프로그램이 실행되는 도중 NullPointerException이 발생하게 되며, 매개변수로 설정한 경우 name에 입력된 값이 없을 경우 NullPointerException이 발생하게 된다.

    이와 유사한 메서드로 Objects.requireNonNull(T obj, String message)도 존재한다.

    Objects.requireNonNull(T obj, String message)
    * obj 가 null인지 판단
    * 만약 obj 가 null일 경우 message가 출력됨

    이 형태는 예외가 발생할 때에 추가로 전달할 메시지를 지정할 수 있다.

     

     

     

     


    <실행결과 모음>

     

    1. 정상

    정상

     

     

    2. NullPointerException 발생 - 에러메세지 미설정

    처음 코드의 에러 출력화면

     

     

     

     

    3. NullPointerException 발생 - 에러메세지 설정

    에러시 반환메세지값을 설정했을 때

     

    728x90
Designed by Tistory.