java.lang.ArrayIndexOutOfBoundsException은 무슨 예외이고, 어떻게 하면 해당 예외가 발생하지 않을 수 있게 할까요?


ArrayIndexOutOfBoundsException의 의미가 무엇인가요? 어떻게 해당 예외를 처리할 수 있을까요?

다음 소스코드는 해당 예외가 발생하는 경우에 대한 예입니다.

String[] name = {"tom", "dick", "harry"};
for(int i = 0; i<=name.length; i++) {
  System.out.print(name[i] +'\n');
}
  • 2016년 05월 14일에 작성됨

조회수 126


1 답변


좋아요
0
싫어요
채택취소하기

첫번째 질문에 대한 답은 이 문서에 명확하게 설명되어 있습니다.

잘못된 인덱스를 사용해서 배열에 접근했다는 것을 알려주기 위한 예외입니다. 인덱스는 0보다 크거나 배열의 사이즈보다 작아야 합니다.

예를 들면:

int[] array = new int[5];
int boom = array[10]; // throws the exception

배열의 인덱스를 사용하실 때는 주의가 필요합니다.

간혹 배열의 시작 인덱스가 1로 착각하는 경우가 있습니다. 그래서 다음과 같이 잘못 코딩하는 경우가 있지요.

int[] array = new int[5];
// ... populate the array here ...
for (int index = 1; index <= array.length; index++)
{
    System.out.println(array[index]);
}

위의 경우는 첫 번째 원소 (index 0)는 지나가고 index가 5일 때 예외가 발생하게 될 것입니다. 유효한 인덱스의 범위는 0부터 4까지이지요. 그래서 위의 for문을 다음과 같이 사용하는 것이 옳습니다:

for (int index = 0; index < array.length; index++)
  • 2016년 05월 15일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close