Null Safe하게 equals()메서드 사용하기

Soobin Kim·2024년 4월 5일

Java

목록 보기
25/47

1. null이 아닌 객체를 비교 대상으로 둔다.

String str1 = "string";
String str2 = null;

System.out.println(str1.equals(str2)); // false
System.out.println(str2.equals(str1)); // NullPointerException
  • 첫 번째 코드에서 str1.equals(str2)false를 반환하지만, 두 번째 코드에서 str2.equals(str1)을 호출하면 NullPointerException이 발생한다. 이는 null 객체에서 메서드를 호출하려고 했기 때문이다.

2. Objects의 static 메소드 equals()를 사용한다.

String str1 = "string";
String str2 = null;

System.out.println(Objects.equals(str1, str2)); // false
System.out.println(Objects.equals(str2, str1)); // false
  • Objects.equals() 메서드는 null 체크를 자동으로 처리하므로, null 값이 포함된 비교에서도 안전하게 사용할 수 있다. 이 방법은 NullPointerException을 방지할 수 있다.

0개의 댓글