[Toy Project] Objects.equals를 활용한 객체 동등성 확인 간소화

최지나·2023년 12월 5일
3
post-thumbnail

자바에서 안정적이고 버그 없는 코드를 작성하기 위해서는 올바른 동등성 체크가 중요하다. 자바 7에서 도입된 Objects.equals 메소드는 두 객체간의 동등성을 비교하는 ⭐null-safety⭐한 방법을 제공한다


기본 사용 예시

토이 프로젝트에서 update 기능을 수행하는 API를 만들 때, input과 기존 객체의 동등성을 확인할 일이 많았다 이때, 반복적으로 null check하는 로직을 추가하는 대신, Objects.equals 메서드를 활용하여 코드를 간소화하였다

import java.util.Objects; 

if (!Objects.equals(patchInput.getName(), previousCategory.getName())) {
    // 입력과 다른 경우 카테고리 이름 업데이트
    previousCategory.updateName(patchInput.getName());
    isUpdated = true;
}

null-safety한 객체 동등성 비교

Object.equals

  • 비교되는 두 객체 중 하나가 null 이더라도 NullPointerException을 피하고 올바를 결과(false)를 반환한다
  • 두 객체가 모두 null일 경우는 true를 반환한다
String name1 = "카테고리명";
String name2 = null;

// 아래 비교는 null-안전하게 동작
if (!Objects.equals(name1, name2)) {
    // name1이 name2와 동일하지 않기 때문에 이 블록이 실행
}

profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글