Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- mybatis
- JavaScript
- Variabla
- git revase
- CRUD
- Thymeleaf
- 배열
- 부적합한열
- git reset
- react
- Spring
- ResultType
- useContext
- localStorage
- passwordencoder
- JDBC
- PathVariable
- 이딴게개발자
- Java
- HTML
- content-box
- oracle
- WHEREIN
- SQL
- git amend
- BCryptPasswordEncoder
- git
- assertequals
- MVC
- springboot
Archives
- Today
- Total
개발새발
[Java] IndexOutOfBoundsException 본문
728x90
ArrayList 공부를 하며 평화로이 코드를 짜고있던 어느날...
아니 분명히 코드 창에는 아무런 문제도 없었는데 실행만 하면 자꾸 오류가 나더라
package pokemonArrayList;
import java.util.ArrayList;
public class PokemonArrayList {
public static void main(String[] args) {
//Pokemon 클래스를 자료형으로 받는 firePokemon ArrayList 선언 (불타입 포켓몬들만 넣을래)
ArrayList <Pokemon> firePokemon = new ArrayList<Pokemon>();
firePokemon.add(new Pokemon("가디",1));
firePokemon.add(new Pokemon("윈디",1));
firePokemon.add(new Pokemon("브케인",1));
firePokemon.add(new Pokemon("마그케인",1));
firePokemon.add(new Pokemon("블레이범",1));
for(int i=0 ; i<=firePokemon.size() ; i++) {
//Pokemon 클래스의 인스턴스 pokemon
Pokemon pokemon = firePokemon.get(i);
pokemon.PokemonInfo();
}
System.out.println(); //줄 띄움
System.out.println("===향상된 for문 사용===");
for(Pokemon pokemon : firePokemon) {
pokemon.PokemonInfo();
}
}
}
도감번호 디테일은 중요한게 아니니까 넘어가고... 아무튼 겉보기에 아무 문제도 없어보이는 이 녀석
그래도 나 이제 에러 문구 좀 읽을 줄 안다..!
main 스레드에서 예외가 발생했다는데 그게 뭐냐면 java.lang.IndexOutOfBoundsException 이라...!!!!
아, 뭔가 배열의 크기에서 문제가 발생했나? 하고 보니까 이제 보인다
배열의 크기를 n이라고 했을 때 인덱스는 0 ~n-1 까지라는 사실을 순간 잊고,
for문 반복 조건을 i <= firePokemon.size() 로 설정해버린 것..!
당연히 i = firePokemon.size()가 된 순간 이 친구는 갈 곳을 잃고 응애 나 아기예외 하고 에러를 낸 것이다
그래서 바로 수정해줬다
굳굳
'오류잡기' 카테고리의 다른 글
[SpringBoot] org.springframework.web.bind.MissingPathVariableException (0) | 2023.11.28 |
---|---|
[SpringBoot] java.sql.SQLException: ORA-01017: 사용자명/비밀번호가 부적합, 로그온 할 수 없습니다. (0) | 2023.11.28 |
[SpringBoot] 부적합한 열 유형: 1111 (0) | 2023.11.27 |
[Java] NullPointException (0) | 2023.09.29 |
[Java] the public type ~ must defined in its own file (0) | 2023.09.26 |