- Today
- Total
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- iframe
- 오류해결
- Oracle
- wordpress
- function
- 이클립스
- 프로시저
- spring boot
- 엘리멘터
- pl/sql
- 워스프레스
- 자바스크립트
- 워드프레스
- 함수
- 오라클
- 환경세팅
- PROCEDURE
- PLSQL
- dbeaver
- Hostinger
- 트러블슈팅
- 클론코딩
- sql
- 문제해결
- 배열
- javascript
- JSP
Archives
개발 공부중
[JAVA] IndexOutOfBoundsException 에러 해결 본문
상황
//문제의 코드
myList = Hanlder.selectDetailList(conn, tcBp, logger); // 리스트 가져옴
maxSrno = Hanlder.maxSrno(conn, tcBp, logger); // 시리얼 넘버 최대값 가져옴
Bean lastResultBp = new Bean();
/* java.lang.IndexOutOfBoundsException 원인
if (maxSrno > 0) {
lastResultBp = (Bean) myList.get(maxSrno - 1);
}
*/
리스트로 받아오지 않게 항목을 하나 변경했더니 IndexOutOfBoundsException 에러가 났다.
원인
IndexOutOfBoundsException 에러는 배열이나 리스트에서 유효하지 않은 인덱스로의 접근 시 발생하는 예외다.
리스트에서 get(index) 했을 때 값이 없으면 생기는 오류다.
List<String> myList = new ArrayList<>();
myList.add("Element 1");
myList.add("Element 2");
// 1. 음수 인덱스에 접근
String element = myList.get(-1); // IndexOutOfBoundsException 발생
// 2. 자료 구조의 크기를 벗어나는 인덱스에 접근
String element = myList.get(2); // IndexOutOfBoundsException 발생
// 3. 빈 자료 구조에서의 접근 시도
List<String> emptyList = new ArrayList<>();
String element = emptyList.get(0); // IndexOutOfBoundsException 발생
해결방법
1. 인덱스 범위를 확인한다.
if (index >= 0 && index < myList.size()) {
// 올바른 범위 내의 인덱스에 접근
String element = myList.get(index);
} else {
// 처리할 로직 추가 (예: 에러 핸들링)
}
2. 비어있는 값인지 먼저 확인한다.
if (!myList.isEmpty()) {
// 자료 구조가 비어 있지 않은 경우에만 접근
String element = myList.get(0);
} else {
// 처리할 로직 추가 (예: 에러 핸들링)
}
나의 경우는 안 쓰는 값이라 주석처리 해주었다.
끝.
'JAVA' 카테고리의 다른 글
[eclipse] Cannot create JDBC driver of class '' for connect URL 'null']을(를) 발생시켰습니다. (1) | 2024.04.01 |
---|---|
[eclipse] Show View에 server가 없을 때 목록에 보이게 하는 방법 (0) | 2024.03.29 |
[JAVA] Application 객체로 상태값 저장하기(+- 계산기) (0) | 2023.10.19 |
[JAVA] 쿼리스트링 활용하기 (GET/POST) (0) | 2023.10.16 |
[JAVA] 이클립스 디버깅 방법 (단축키) (0) | 2023.08.31 |
Comments