betterthani / saveWallet

0 stars 0 forks source link

캘린더 합계 에러(java.lang.IndexOutOfBoundsException) #17

Open betterthani opened 1 year ago

betterthani commented 1 year ago

public List selectGroupBySum(int userId); 의 값을 불러올때

값이 아무것도 없는 아이디로 접속했을 경우 java.lang.IndexOutOfBoundsException: 와 관련된 에러가 뜬다.

이는 리스트형 객체에서 선언되지 않은 요소를 get하는 경우 발생한다고 한다. 나는 하나의 값만 가져오면 되서 List가아닌 객체로만 가져와도되지만 나중에 값을 추가, 변경할 사항을 대비해 list로 놔두었다.

그래서 이부분은 null값이나 enpty상태(empty상태에서 element를 가져오려 하기 때문)의 예외 처리를 해주어야하는데 이 부분은

ObjectUtils의 isEmpty함수는 null 과 empty 둘 다 validation 해주기 때문에 한번에 해결할 수 있어

if(!ObjectUtils.isEmpty(monthList)) {   
  if(monthList.get(0).getM().equals(nowDate)) {
    model.addAttribute("sum", monthList.get(0).getSum());
  }
} 

이렇게 처리해 에러 해결했다.