반응형
일 하다가 로직을 짜는 도중 회원 번호와, 작성글의 회원번호를 매칭하는 도중에 삽질을 했다.
로그 찍어보면 값은 같은데 자꾸 false를 타는 바람에 시간낭비를 한다.
//틀린 코드
//세션에서 가져온 memIdx
LoginSessionInfo loginInfo = PageSession.getLoginSessionInfo();
loginInfo.getMemIdx();
//게시판 작성자의 memIdx를 가져오는 객체
Map<String, Object> info= recruitService.getRecruitInfo(param);
info.get("REG_IDX")
if(loginInfo.getMemIdx().equals(regIdx) || loginInfo.getNuriYn().equals("Y") ){
//
}
여기서 중요했던게 맵객체를 사용하여 <String, Object>로 선언을 했더니, 숫자는 자동으로 Integer로 변환 해주더라..
그래서
타입을 확인해보니..
String ===Integer 이게 되겠냐고.....
LoginSessionInfo loginInfo = PageSession.getLoginSessionInfo();
log.info("loginInfo getMemIdx: "+loginInfo.getMemIdx());
Map<String, Object> info= recruitService.getRecruitInfo(param);
String regIdx = info.get("REG_IDX").toString();
if(loginInfo.getMemIdx().equals(regIdx) || loginInfo.getNuriYn().equals("Y") ){
//
}
이렇게 regIdx를 toString으로 변환해주어야 타입이 같아진다..
자바에서 타입이 무엇인지 확인할때는
log.info(" :::loginInfo_class_type::: "+loginInfo.getMemIdx().getClass().getName());
log.info(" :::REG_IDX_class_type::: "+info.get("REG_IDX").getClass().getName());
log.info(" :::REG_IDX_class_type::: "+info.get("REG_IDX").getClass().getName());
변수명.getClass().getName())
이렇게 확인해주면 된다.
연차는 쌓여가고 이런 실수를 하면 안대는데..
자바 너란녀석 .. 참 .. 꼼꼼한녀석..
반응형
'자바' 카테고리의 다른 글
[Java] 타입 변환 오류(ClassCastException) 해결하기 (0) | 2025.03.15 |
---|---|
[자바 초보자를 위한] 간단한 학생 성적 계산 프로그램 만들기 (2) | 2024.04.24 |
[Java] cannot be cast to java.lang.String 해결 (0) | 2023.06.26 |
jdk-설치 (0) | 2022.09.21 |
제네릭 (0) | 2021.04.07 |
댓글