日期:2014-05-20  浏览次数:21005 次

这段代码说 数组下标越界
for(int i=1;i<=list0.size();i++){
String sql0="select z_dl from dbxx where dbh='"+list0.get(i)+"'and yhh='"+it.getYhh()+"'";
PreparedStatement pstm0=cm2.prepareStatement(sql0);
ResultSet rs0=pstm0.executeQuery();
while(rs0.next()){
DianL dl=new DianL();
dl.setZ_dl(rs0.getFloat("z_dl"));
list1.add(dl);
}

}
求高人相告

------解决方案--------------------
下面是list api中的说明
get

public E get(int index)
返回此列表中指定位置上的元素。
指定者:
接口 List<E> 中的 get
指定者:
类 AbstractList<E> 中的 get
参数:
index - 要返回元素的索引
返回:
此列表中指定位置上的元素
抛出:
IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index >= size())

所以:for(int i=1;i<=list0.size();i++) i=list0.size()的时候就会抛出异常
i 的取值应该是0开始 并且小于 list0.size()