솔묘
Solmi's Development Blog
솔묘
전체 방문자
오늘
어제
  • 분류 전체보기 (20)
    • Coding (10)
    • Troubleshooting (3)
    • Study (3)
    • Etc. (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

skin · Designed By 정상우.
솔묘

Solmi's Development Blog

[JAVA] Objects.isNull vs. object == null
Coding

[JAVA] Objects.isNull vs. object == null

2023. 6. 12. 14:15

Objects.isNull은 JDK 1.8부터 등장한 자바 표준 API 메서드이다.

null 체크에 사용되는 Objects.isNull과 object == null 두 방식의 차이가 궁금해서 알아보았다.

 

1. 결과의 차이는 없다.

    public static boolean isNull(Object obj) {
        return obj == null;
    }

Objects.isNull의 return 값 또한 obj == null으로, object == null과 결과는 같다.

 

2. 용도의 차이는 있다.

Objects.isNull의 API Note를 보면 isNull 메서드는 filter에서 사용되기 위해 존재한다고 작성되어 있다. 즉, 람다식에서 사용되기 위해 만들어진 메서드이다. (람다식과 isNull 메서드 둘 다 Java 8부터 등장했으니 납득이 된다.)

 

3. 어느 것이 나을까?

isNull이 == null과 같은 로직을 수행하기에 메서드를 호출해서 null 체크를 할 필요는 없어 보인다.

또한 가독성을 고려했을 때 일반적으로 == null이 null 체크에 사용되는 것 같다.

 

4. 결론

if문에서는 object == null을, 람다식에서는 stream.filter(Objects::isNull) 형식이 간결해보인다.

저작자표시 (새창열림)

'Coding' 카테고리의 다른 글

[Spring] @JsonInclude와 @JsonIgnore  (0) 2023.07.12
[AWS S3] 여러 객체 삭제  (0) 2023.07.10
[20230628] 오늘의 삽질  (0) 2023.06.28
[JAVA] var 사용 시 주의할 점과 장단점 - 지역 변수 추론 타입  (0) 2023.06.27
[REST API] UrlConnection vs. RestTemplate vs. WebClient  (0) 2023.06.24
    'Coding' 카테고리의 다른 글
    • [AWS S3] 여러 객체 삭제
    • [20230628] 오늘의 삽질
    • [JAVA] var 사용 시 주의할 점과 장단점 - 지역 변수 추론 타입
    • [REST API] UrlConnection vs. RestTemplate vs. WebClient
    솔묘
    솔묘
    Solmi's Development Blog

    티스토리툴바