본문 바로가기
Java

equals()메소드를 비교하는 대상이 null인 경우

by sangyunpark99 2024. 9. 25.

 

오늘의 실험체는 equals() 메서드 입니다.
실험 주제는 equals()메서드에게 null은 안전한가? 입니다.
바로 실험 시작하겠습니다. 🧐

 

실험 코드

코드는 다음과 같습니다.

String a = null;
String b = "hello";

boolean result = a.equals(b);

 

 

실행 결과

코드를 실행한 결과는 다음과 같습니다.

 

"a가 null이기 때문에 String.equals(Object) 메서드를 호출할 수 없다"라고 오류는 말하고 있습니다.

 

🔎 왜 NullPointerException 예외가 발생할까?

equals()라는 메서드는 Java에서 Object라는 클래스에 정의된 static 메서드이다.

null인 상태에서 equals()메서드를 호출하려고 하니, 예외가 발생하게 된다.

 

결론

equals() 메서드는 null-safe하지 않습니다.