자바에서 안정적이고 버그 없는 코드를 작성하기 위해서는 올바른 동등성 체크가 중요하다. 자바 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;
}
Object.equals
String name1 = "카테고리명";
String name2 = null;
// 아래 비교는 null-안전하게 동작
if (!Objects.equals(name1, name2)) {
// name1이 name2와 동일하지 않기 때문에 이 블록이 실행
}