작성
·
44
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
ghuhan18님, hashCode
메서드를 사용할 때 Math.abs(Objects.hashCode(key))
와 Math.abs(key.hashCode())
사이에는 중요한 차이가 있습니다.
Math.abs(Objects.hashCode(key))
:
Objects.hashCode(key)
는 key
가 null
일 경우에도 안전하게 0
값을 반환합니다. 이를 통해 NullPointerException
을 방지할 수 있습니다.Objects.hashCode()
는 내부적으로 key.hashCode()
를 호출하기 전에 key
가 null
인지 체크하기 때문에 항상 안전하게 작동합니다.Math.abs(key.hashCode())
:
key
가 null일 경우, 직접적으로 key.hashCode()
를 호출하면 NullPointerException
이 발생할 수 있습니다.key
가 null일 가능성이 있는 경우에는 Objects.hashCode(key)
를 사용하는 것이 더 안전한 방법입니다.이러한 이유로, 만약 key
가 null일 가능성이 있다면 Objects.hashCode()
를 사용하는 것이 좋습니다. 이를 통해 코드의 안정성과 예외 처리에서의 부담을 줄일 수 있습니다.
도움이 되셨기를 바랍니다! 추가적으로 궁금한 점이 있다면 언제든지 문의해 주세요.