首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

java.lang.IndexOutOfBoundsException: Index: 一, Size: 0

2012-10-18 
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0如下面程序所示,tc是一个对象,包含state、ID和pos

java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
如下面程序所示,tc是一个对象,包含state、ID和position三个属性,当我有一个新的tc时,我想根据tc的ID来将它存入arrayList对应的位置,为什么一运行就出错?各位大侠,请帮帮我吧!
if(tc.getTC_ID().substring(3, 4).equals("0")){
String ID = tc.getTC_ID();
if(ID.equals("1000")){
tcListleft.add(0,tc);
System.out.println("tcListleft 0:"+tcListleft.get(0).TC_ID);
}
if(ID.equals("2000")){
tcListleft.add(1,tc);
System.out.println("tcListleft 1:"+tcListleft.get(1).TC_ID);
}
if(ID.equals("3000")){
tcListleft.add(2,tc);
System.out.println("tcListleft 2:"+tcListleft.get(2).TC_ID);
}
if(ID.equals("4000")){
tcListleft.add(3,tc);
System.out.println("tcListleft 3:"+tcListleft.get(3).TC_ID);
}
if(ID.equals("5000")){
tcListleft.add(4,tc);
System.out.println("tcListleft 4:"+tcListleft.get(4).TC_ID);
}
}}
}

[解决办法]
tc只是一个对象

比如是满足ID.equals("2000")

那么tcListleft.add(1,tc); 之后,tcListleft也只是容量为1

tcListleft.get(1)就数组越界了。容量为1,怎么能取到get(1)的值呢?
[解决办法]
4个if只能进一个。所以list里就只能一个元素
[解决办法]
4个if只有一个城里,所有List里面只有一个元素,所以只能list.get(0);

热点排行