IT/Spring
오류_switch 작동방식
So1_b
2023. 1. 16. 18:51
NullPointerException 발생
null인 객체의 메서드를 사용하거나 기본자료형에 null를 대입하려고 할때 발생
switch문에서 String사용시
내부적으로 hashCode()을 사용해 문자열을 정수로 변환 후 equals로 값 비교
*String에서 오버라이딩 한 hashCode(): 주소값을 기준으로 계산하지 않고 문자열을 기준으로 계산하기 때문에 다른 객체라도 문자열이 똑같으면 같은 해시값을 가질 수 있음.
session.getAttribute("call")의 결과 null일 경우
String으로 형변환 후 hashCode()이 호출되는게 아닌
hashCode()를 먼저 호출하고 결과가 String으로 형변환하는 것.
String변환 후 호출되게 끔 코드 변경
참고한 블로그