← 블로그

Objects.requireNonNull 이란

#java

Objects 객체에 있는 간편한 null 검사 메서드라고 할 수 있다.

public static <T> T requireNonNull(T obj) {
    if (obj == null)
        throw new NullPointerException();
    return obj;
}

내부 구조는 이렇게 간단하다.

왜 쓰는가

  • NPE를 잡기 위해 사용
  • null이 될 가능성이 아예 없다는 것을 코드 상에서 강조하기 위해
  • JVM이 null 포인터를 찾아서 NPE를 발생시키는 것보다 명시적으로 직접 던지는것이 성능상의 이점이 있음.

Optional과의 차이점

Optional은 null이 될 가능성이 조금이라도 있을 경우 안전하게 처리하기 위함이라면,

requiredNonNull은 null이 되면 안되는 객체에 사용한다.