인프런 커뮤니티 질문&답변

sghaha님의 프로필 이미지
sghaha

작성한 질문수

생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현

tokenClaims에서 memberId를 가져올때

작성

·

139

0

안녕하세요 tokenClaims에서 memberId를 가져올 때

Long memberId = Long.valueOf((Integer) tokenClaims.get("memberId"));

이렇게 Integer로 형변환후 Long.valueOf로 Long으로 바꿔주시고 계시는데요

 

Long memberId = (Long) tokenClaims.get("memberId");

이런식으로 바로 Long으로 형변환을 시켜 준다면 어떤문제가 생기나요??

 

 

답변 1

0

sghaha님의 프로필 이미지
sghaha
질문자

아 실험해보니

 

java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long (java.lang.Integer and java.lang.Long are in module java.base of loader 'bootstrap')

이 에러가 떨어지는군요.

 

 

그렇다면

Object -> Integer -> Long으로 해야하긴 하겠는데

memberId가 integer값을 넘어가는경우에는 또 어떻게 될런지 모르겠네요.ㅠㅠ

구파고님의 프로필 이미지
구파고
지식공유자

안녕하세요 shhaha님! 말씀하신대로 tokenClaims에서 값을가져올때 integer로 가져와야 에러가 없더라구요! Integer의 범위가 대략 21억까지이니 회원수는 걱정하지 않으셔도 됩니다. 회원수 21억은 사실상 모을수가없어서요!

sghaha님의 프로필 이미지
sghaha

작성한 질문수

질문하기